우리의 안드로이드 응용 프로그램의 모든 두 번째 실행, 우리는안드로이드 코 틀린 : java.lang.NoClassDefFoundError가이 :의 해상도를 실패 : <KotlinObject>
java.lang.NoClassDefFoundError: Failed resolution of: Lin/blahapp/xxx/BlahUtil
BlahUtil을 말한다 충돌이에 @JvmStatic 주석과 코 틀린 객체입니다 얻을 그것. 나는 안드로이드 애플 리케이션 (자바에서 모두)의 나머지 부분에서 이러한 정적 메서드를 호출합니다.
우리는 multidex 1.0.1을 사용합니다.
내가 JDK 7.
관련 Gradle을 CONFIGS 사용하여, 안드로이드 스튜디오 2.1.2 오전 :
이compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
}
dexOptions {
incremental true
dexInProcess true
javaMaxHeapSize "10g"
preDexLibraries true
}
buildscript {
ext.kotlin_version = '1.0.3'
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin-android'
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}
추적 :
at in.blahapp.xxx.OurActivity
at android.app.Activity.performCreate(Activity.java:6251)
at ndroid.app.Instrumentation.callActivityOnCreate
at android.app.ActivityThread.performLaunchActivity
at android.app.ActivityThread.handleLaunchActivity
at android.app.ActivityThread.-wrap11
at android.app.ActivityThread$H.handleMessage
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.ClassNotFoundException: Didn't find class "in.blahapp.xxx.BlahUtil" on path: DexPathList[[dex file ....
항상 발생합니까 아니면 모든 두 번째 빌드에서만 (또는 다른 변형에서 첫 번째 클린 빌드에서만) 발생합니까? – AndroidEx
보통 깨끗한 빌드를 따르는 첫 번째 실행에서는 절대로 발생하지 않습니다. 몇 가지 사항을 변경하고 다시 실행하면 두 번째 실행시 충돌이 발생합니다. 세 번째 실행 작동합니다. 내가 다시 변경하면 바로 다음 실행에서 충돌이 발생합니다. 그 후 실행에 대한 작업 ..... 등등. – letronje
[이 버그] (https://youtrack.jetbrains.com/issue/KT-10733)와 매우 유사합니다. Kotlin 클래스가 첫 번째 클린 컴파일에서 발견 (= 삭제)되지 않았지만 두 번째 증분 빌드에서 나타난이 버그의 또 다른 변형이 있습니다. Google 트래커에서도 논의되었으므로 android gradle plugin 2.3이 출시 될 때까지 기다려야합니다. 이 문제로 인해 내 팀에 Kotlin을 소개 할 수 없었고, 불행히도 귀하와 공유 할 권장 사항이 없습니다. – AndroidEx