2012-11-24 3 views
0

Eclipse 용 ADT 버전 21 플러그인을 사용 중이며 Android 4.2 플랫폼 용으로 프로그래밍 중입니다. 나는 원래 자바 클라이언트 - 서버 애플리케이션을 작성했으며, 필자가 지금 작성하고있는 안드로이드 애플리케이션을 위해이 클래스에 쓴 클래스 중 일부를 사용하고자한다. Java 클래스 파일을 JAR 파일로 내보내고 JAR 파일을 Android 애플리케이션의 libs 디렉토리에 저장하려고 시도했지만 Nexus 4에서 애플리케이션을 실행하려고 시도했을 때 NoClassDefFoundError이 발생합니다. 그래서 몇 가지 해답을 검색하고 등록 정보 창에있는 순서 및 내보내기 탭에 JAR 파일을 포함시키고 (목록의 맨 위에 넣는 등) 몇 가지 제안을 시도했지만 막혔습니다. 이클립스는 내 Android 애플리케이션을 정상적으로 컴파일하지만 장치에서 애플리케이션을 실행할 수 없다.NoClassDefFoundError Android 애플리케이션을 실행할 때

이 질문은 이전에 물어 보았으며 여러 사용자가 동일한 문제를 경험했습니다. 나는 모든 제안을 환영한다. (방금 Android 응용 프로그램 개발에 대해 배우기 시작했습니다.) 감사합니다!

편집 : 콘솔 출력에서이 줄을 발견했습니다. 어떤 아이디어?

[2012-11-24 01:26:26 - HomePage] Dx bad class file magic (cafebabe) or version (0033.0000) 
...while parsing org/nihongo/common/db/Commands.class 
...while processing org/nihongo/common/db/Commands.class 

편집 :는 나는 내가 here를 참조 자바 7 대신 자바 6을 사용하고 있다는 사실이 될 수 있다고 생각.

+2

전체 스택 트레이스 표시 –

+0

빌드 프로세스의 콘솔 출력도 표시하십시오. –

답변

1

클라이언트 - 서버 응용 프로그램에서 Java 7에서 Java 7으로 컴파일러를 전환했습니다. 내가 원하는 클래스를 JAR 파일로 내 보낸 다음 Android 애플리케이션에 포함 시켰습니다. 이제 작동하는 것처럼 보입니다!

그래서 Java 6은 Android 4.2에서도 지원됩니다.

7

Java에서 NoClassDefFoundError는 컴파일 타임에 사용할 수있는 런타임에 특정 클래스를 찾을 수없는 경우에 발생합니다.

이 오류는 Google API (예 :지도)를 사용하지만 Android API를 타겟팅하는 기기에서 실행하는 앱을 만들 때 생성됩니다.

관련 문제