3
모듈 종속성을 build.gradle에 추가했는데 Android Studio가 컴파일 타임에 불만을 표시하지 않았습니다. 하지만 "Run"을 눌러 앱을 실행하면 java.lang.NoClassDefFoundError가 발생합니다.Android Studio java.lang.NoClassDefFoundError on Launch
Android Studio의 Gradle을 사용하고 있습니다.
나는 시도했다 : gradle clean + gradle 조립하고 성공적인 빌드를 얻었지만 실행에 실패했다.
내 build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile files('libs/android-support-v4.jar')
compile group:'com.deebl', name:'deebl-client-core', version:'0.0.1-SNAPSHOT'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
예외 : 안드로이드 스튜디오 0.2.0에
07-07 14:03:23.833 790-790/com.deebl E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.deebl.client.core.be.Movie
at com.deebl.MainActivity.onCreate(MainActivity.java:15)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
예외의 전체 스택 추적을 게시하시기 바랍니다 해결했다. –
내 나쁜, 그냥에 추가했습니다. 왜 이런 일이 일어나는 지 아십니까? –
다음 세 가지 이유 중 하나 : com.deebl.client.core.be.Movie는 철자가 잘못되었거나 포장 중에 이름이 변경되거나 이름이 변경되거나 (프로 가드 등) 자체가 아닌 (라이브러리 클래스를 확장하는 등) 설치시에 나타나기 때문에 설치 프로그램이 패키지에서 제거했습니다. 후자의 경우 설치하는 동안 로그에 무엇인가가 표시 될 수도 있습니다 (처음 설치를 완전히 취소 한 경우). 그렇다고 약속 할 수는 없지만. 리버스 엔지니어링 툴을 사용하여 apk 패키지를 풀고 실제로 무엇이 있는지 확인할 수도 있습니다. –