2012-05-31 2 views
0

저는 데스크톱 컴퓨터에서 몇 주 동안 앱을 개발했습니다. 나는 다른 기계에서 개발하기 위해 움직였다. 그래서 코드를 만들었는데 = 잘 만들었고, 이클립스를 눌러서 설치했다. 강제로 닫으면 실패한다.java.lang.VerifyError - 개발을 다른 컴퓨터로 옮긴 후 안드로이드 앱이 시작되지 않습니다.

대단하지 않습니다. -하지만 난 실행하고있는 버전 바탕 화면과 동일 http://pastebin.com/tUBAK1Zq

나는 이것이 아마도 안드로이드 SDK의 버전과 함께 할 생각 : -

그래서 이것은 스택 추적입니다.

응용 프로그램이 결국에 그 스택 추적을 던져 줄은 다음과 같습니다.

// 각 탭에 대한을 TabSpec을 초기화하고 tabHost.newTabSpec ("replaylist") = TabHost 사양에 추가 setIndicator ("재생 목록 ", res.getDrawable (R.drawable.tabview_changeicon)) .setContent (intent);

tabHost.addTab (spec);

누군가이 문제를 해결할 수 있도록 도와주세요.

+0

여기에 stacktrace를 넣을 수 있습니까? – edthethird

+0

http://tinypaste.com/e0452977 – RenegadeAndy

답변

0

결국 문제는 안드로이드 SDK 관리자가 내가 생각한 것입니다.

1

Android에서 여러 번 '확인'문제를 직접 경험했습니다. 일반적으로 이것은 표준 Java 6 api를 사용하지만 API가 Android에없는 경우에 발생합니다. Eclipse가 JRE를 기반으로하여 코드를 "검증"하므로 기본 Android JRE (dalvik)에없는 API를 사용하면 불평하지 않습니다. 그 결과 강제 종료 및 암호 확인 메시지가 나타납니다. 표준 java jdk를 사용하여 라이브러리를 컴파일 한 다음 Android 프로젝트에서 해당 라이브러리를 사용할 때 많이 볼 수 있습니다.

가장 좋은 방법은 Java 5 호환성을 사용하여 라이브러리 프로젝트를 컴파일하고 Eclipse에서 불만을 제기하는 API를 확인하는 것입니다. 대개 Android에서 구현되지 않은 String 또는 StringBuffer (또는 다른 핵심 클래스)의 메서드를 사용하고있는 것을 알 수 있습니다. 나는 또한 안드로이드에서 구현되지 않은 생성자를 사용하여 물었다.

+0

시도해 보았습니다. @Override 주석과 인라인 클래스가 문제였습니다. 내가 말했듯이이 코드는 다른 컴퓨터에서 100 % 작동하지만 코드 변경이 발생하지 않은 이유는 무엇입니까? 갑자기이 오류가 표시되고 잘못된 API와 연결됩니까? 나는 이것이 같은 문제라고 생각하지 않습니까? – RenegadeAndy

+0

매번 TabHost.addSpec에 대해 불평하는 방식은 무엇입니까? – RenegadeAndy

+0

항아리의 소스 코드를 가지고 있다면, 프로젝트를 Android 라이브러리 프로젝트로 만들어 사용해 볼 수 있습니다. 라이브러리 프로젝트를 사용할 때 darvik 컴파일러를 사용하여 JAR 파일을 다시 빌드하므로 차이점을 확인하는 것이 좋습니다. 스택 추적은 활동을 작성할 수 없음을 표시하므로 활동이 탭 중 하나 인 경우 addTab이 실패한 것으로 표시 될 수 있습니다. – stuckless

관련 문제