안드로이드 java.lang.NoClassDefFoundError
작동하는 Eclipse IDE에 Android 프로젝트가 있습니다. 일부 가져 오기 및 테스트 후 오류가 발생 java.lang.NoClassDefFoundError
합니다..
내 프로젝트에는 두 개의 패키지가 있습니다. 메인 패키지와 클래스가있는 두 번째 패키지입니다.
기본 활동 클래스의 두 번째 패키지 클래스에서 개체를 인스턴스화하려고하면이 오류가 발생합니다.
다음은 logcat입니다.
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.neurospeech.wsclient.MDPIforEditorialBoard
at milos.mdpi.Journals.<init>(Journals.java:41)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1409)
at android.app.Instrumentation.newActivity(Instrumentation.java:1040)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4389)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)
내 문제에 대한 해결책을 찾았습니다.
해결책은 여기에서 찾을 수 있습니다 : http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17
최근에 Eclipse Android 플러그인 (adt r17)을 업데이트 했습니까? 다음 링크가 도움이 될 수 있습니다.
adt-17로 classdefnotfounderror를 수정하는 방법
업데이트 : 질문이 발생한 지 1 년이 지났습니다. 2013 년에도 일부 사람들이 문제를 해결하는 데 도움이되는 것 같아서 링크를 유지하겠습니다. 그러나 당신이하는 일에주의를 기울이십시오. 아래의 Erics 코멘트를보십시오. 현재 ADT 버전은 22입니다. 가장 최신 버전을 사용하는 것이 좋습니다.
이 순서로 빌드 경로를 편집하십시오.
/gen
이전 인지 확인하십시오./src
여기에 내보낼 주요 프로젝트의 개인 라이브러리를 추가하여 문제를 해결했습니다.
Project Properties->Java Build Path->Order And Export
그리고 Android Private Libraries가 선택되어 있는지 확인하십시오.
스크린 샷 :
확인 google-play-services_lib.jar
하고 확인하십시오 google-play-services.jar
. 프로젝트를 정리하고 다시 실행하면 classNotfound 예외가 사라집니다.
프로젝트 속성에서 주문 및 내보내기로 이동하여 내보내기에 필요한 항아리를 포함하고 있는지 확인하십시오.
다른 Android 라이브러리를 포함하는 오래된 프로젝트를 여는 동안이 문제가 몇 번 발생했습니다. 나를 위해 일하는 것은 다음과 같습니다.
주문 및 내보내기 탭 에서 Android를 맨 위로 이동 하고 선택을 취소합니다.
예, 이것은 정말로 차이를 만듭니다. Android Studio 용 ADT를 버릴 때가 된 것 같습니다!
1.6 대신 jdk 1.7로 컴파일 된 jar를 포함하려고하면이 오류가 발생할 수도 있습니다.
제 경우에는 ADT 대신 SDK에서 제공하는 Ant 스크립트를 사용하여 앱을 패키징하여이를 알아 냈고 ADT가 표시하지 않은 다음 오류를 발견했습니다.
[dex] Pre-Dexing libjingle_peerconnection.jar -> libjingle_peerconnection-2f82c9bf868a6c58eaf2c3b2fe6a09f3.jar
[dx]
[dx] trouble processing:
[dx] bad class file magic (cafebabe) or version (0033.0000)
[dx] ...while parsing org/webrtc/StatsReport$Value.class
[dx] ...while processing org/webrtc/StatsReport$Value.class
jdk 1.6으로 항아리를 다시 컴파일하고 오류가 수정되었습니다.
에가는 시도 Project -> Properties -> Java Build Path -> Order & Export
와 안드로이드 개인 라이브러리 확인 프로젝트에 당신이 당신의 응용 프로그램에서 사용하는 다른 모든 라이브러리 프로젝트에 확인됩니다.
Java Build Path를 확인한 후 manifest 파일에 코드 줄을 추가합니다.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
참조 URL : https://stackoverflow.com/questions/9870995/android-java-lang-noclassdeffounderror
'code' 카테고리의 다른 글
sed를 사용하여 일치하는 두 패턴 사이의 모든 줄 삭제 (0) | 2021.01.07 |
---|---|
Notepad ++에서 줄 범위 선택 (0) | 2021.01.07 |
JavaScript 문자열에서 너비가 0 인 공백 문자 제거 (0) | 2021.01.07 |
OpenCV 및 Python을 사용하여 웹캠 피드 표시 (0) | 2021.01.06 |
Django 템플릿에서 변수를 사전 키로 사용 (0) | 2021.01.06 |