【问题标题】:Android Library Module developed in Kotlin exported to Java Application causing Failed resolution of: Lkotlin/jvm/internal/Intrinsics在 Kotlin 中开发的 Android 库模块导出到 Java 应用程序导致解析失败:Lkotlin/jvm/internal/Intrinsics
【发布时间】:2017-10-12 02:42:05
【问题描述】:

我在 Kotlin 中开发了一个 Android 库模块 - 在 Kotlin 项目中对其进行了测试,一切正常。使用 gradle 的 maven-publishing 插件,我生成了 aar 文件并将它们上传到 Maven 服务器上,所以后来我使用 compile 'group:artifact:version' 在 Android Java 应用程序上添加了 lib。

似乎可以识别库文件,但是,当我尝试启动 Lib 上存在的活动时,我得到以下堆栈跟踪:

05-12 14:21:48.221 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 182
05-12 14:21:48.222 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 181
05-12 14:21:48.222 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 181
05-12 14:21:48.223 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 182
05-12 14:21:48.224 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 180
05-12 14:21:48.224 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 180
05-12 14:21:48.224 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 179
05-12 14:21:48.225 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 179
05-12 14:21:48.225 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 180
05-12 14:21:48.225 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 180
05-12 14:21:48.225 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 179
05-12 14:21:48.226 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 179
05-12 14:21:48.226 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 180
05-12 14:21:48.227 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 180
05-12 14:21:48.227 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 179
05-12 14:21:48.227 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 179
05-12 14:21:48.227 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 180
05-12 14:21:48.228 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 180
05-12 14:21:48.228 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 179
05-12 14:21:48.228 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 179
05-12 14:21:48.229 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 179
05-12 14:21:48.229 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 179
05-12 14:21:48.230 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Feedback; annotation class 182
05-12 14:21:48.232 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Feedback; annotation class 181
05-12 14:21:48.232 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Feedback; annotation class 181
05-12 14:21:48.233 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Entry; annotation class 182
05-12 14:21:48.233 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Entry; annotation class 180
05-12 14:21:48.234 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Entry; annotation class 180
05-12 14:21:48.234 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Entry; annotation class 180
05-12 14:21:48.234 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Entry; annotation class 180
05-12 14:21:48.235 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Feedback; annotation class 179
05-12 14:21:48.235 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Feedback; annotation class 179
05-12 14:21:48.272 11735-11735/*****.*****.dev I/art: Rejecting re-init on previously-failed class java.lang.Class<br.com.**********.dataform.renderengine.presentation.feedback.PieChartFeedback>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/github/mikephil/charting/charts/PieChart;
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.Class.newInstance!() (Class.java:-2)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.Instrumentation.newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent) (Instrumentation.java:1078)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2557)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.os.Looper.loop() (Looper.java:154)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.github.mikephil.charting.charts.PieChart" on path: DexPathList[[zip file "/data/app/*****.*****.dev-2/base.apk", zip file "/data/app/*****.*****.dev-2/split_lib_dependencies_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_0_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_1_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_2_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_3_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_4_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_5_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_6_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_7_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_8_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/*****.*****.dev-2/lib/x86, /system/lib, /vendor/lib]]
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.Class.newInstance!() (Class.java:-2)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.Instrumentation.newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent) (Instrumentation.java:1078)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2557)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.os.Looper.loop() (Looper.java:154)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
05-12 14:21:48.273 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
05-12 14:21:48.275 11735-11735/*****.*****.dev I/art: Rejecting re-init on previously-failed class java.lang.Class<br.com.**********.dataform.renderengine.presentation.FormActivity$assembleWizard$1>: java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Lambda;
05-12 14:21:48.275 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.Class.newInstance!() (Class.java:-2)
05-12 14:21:48.275 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.Instrumentation.newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent) (Instrumentation.java:1078)
05-12 14:21:48.275 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2557)
05-12 14:21:48.275 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
05-12 14:21:48.275 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.os.Looper.loop() (Looper.java:154)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Lambda" on path: DexPathList[[zip file "/data/app/*****.*****.dev-2/base.apk", zip file "/data/app/*****.*****.dev-2/split_lib_dependencies_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_0_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_1_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_2_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_3_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_4_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_5_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_6_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_7_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_8_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/*****.*****.dev-2/lib/x86, /system/lib, /vendor/lib]]
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.Class.newInstance!() (Class.java:-2)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.Instrumentation.newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent) (Instrumentation.java:1078)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2557)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2726)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1477)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.os.Looper.loop() (Looper.java:154)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6119)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
05-12 14:21:48.276 11735-11735/*****.*****.dev I/art:     at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
05-12 14:21:48.482 11735-11735/*****.*****.dev E/AndroidRuntime: FATAL EXCEPTION: main
                                                                 Process: *****.*****.dev, PID: 11735
                                                                 java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics;
                                                                     at br.com.**********.dataform.renderengine.presentation.FormActivity.assembleWizard(FormActivity.kt:117)
                                                                     at br.com.**********.dataform.renderengine.presentation.FormActivity.onCreate(FormActivity.kt:71)
                                                                     at android.app.Activity.performCreate(Activity.java:6679)
                                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
                                                                     at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
                                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                     at android.os.Looper.loop(Looper.java:154)
                                                                     at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                                                                  Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Intrinsics" on path: DexPathList[[zip file "/data/app/*****.*****.dev-2/base.apk", zip file "/data/app/*****.*****.dev-2/split_lib_dependencies_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_0_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_1_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_2_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_3_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_4_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_5_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_6_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_7_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_8_apk.apk", zip file "/data/app/*****.*****.dev-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/*****.*****.dev-2/lib/x86, /system/lib, /vendor/lib]]
                                                                     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                     at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                                                                     at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                     at br.com.**********.dataform.renderengine.presentation.FormActivity.assembleWizard(FormActivity.kt:117) 
                                                                     at br.com.**********.dataform.renderengine.presentation.FormActivity.onCreate(FormActivity.kt:71) 
                                                                     at android.app.Activity.performCreate(Activity.java:6679) 
                                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
                                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) 
                                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                                                                     at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                     at android.os.Looper.loop(Looper.java:154) 
                                                                     at android.app.ActivityThread.main(ActivityThread.java:6119) 
                                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

这是我模块的 build.gradle:

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply from : 'publish.gradle'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 1
        versionName libVersion

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {
    // TEST
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    testCompile 'junit:junit:4.12'

    // GOOGLE
    compile 'com.google.code.gson:gson:2.8.0'
    compile "com.android.support:appcompat-v7:$appcompat"
    compile "com.android.support:cardview-v7:$appcompat"
    compile "com.android.support:design:$appcompat"

    // OTHER
    compile('org.simpleframework:simple-xml:2.7.+') {
        exclude module: 'stax'
        exclude module: 'stax-api'
        exclude module: 'xpp3'
    }
    compile 'com.github.PhilJay:MPAndroidChart:v3.0.2'
    compile 'org.apache.commons:commons-io:1.3.2'

    // RX ANDROID
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'io.reactivex.rxjava2:rxjava:2.0.1'

    // KOTLIN
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    // ANKO
    compile "org.jetbrains.anko:anko-common:$anko_version"
    compile "org.jetbrains.anko:anko-sdk15:$anko_version"
    compile "org.jetbrains.anko:anko-support-v4:$anko_version"
    compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
}

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }
}

kapt {
    generateStubs = true
}

【问题讨论】:

  • kotlin-stdlib-jre7 应该在 Android 上工作吗? AFAIK,Android 构建工具目前只支持 Java 6 平台,所以你可以尝试使用针对 Java 6 的org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version,看看是否有效。
  • 我已经完成了更改,您节省了我的时间。非常感谢!我遇到了另一个问题,即模块 aar 是在没有依赖关系的情况下生成的,因此,如果我正在导入它,我必须将它们全部导入应用程序。 (请提交答案,以便我接受)

标签: java android kotlin


【解决方案1】:

kotlin-stdlib-jre7 工件不应该在 Android 上运行,Android 目前仅支持 Java 6 平台。面向 Android 时,您应该使用为 JRE 6 构建的 kotlin-stdlib

// KOTLIN
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

【讨论】:

  • 我有类似的 gradle 文件,但有相同的例外,更改 stdlib 对我的情况不起作用。还有什么可能导致此异常?
  • @dgngulcan,这里的$kotlin_version 是什么?同步我的项目时出现此错误Could not get unknown property 'kotlin_version' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
  • @blueware 它是作为属性的kotlin 版本。您可以在根build.gradle 文件中将其定义为`project.ext{ kotlin_version = '1.2.41' }
【解决方案2】:

2020-21 年更新:

对于仍然遇到此错误的任何人,它可能源于已编译的 AAR 库的简单交互,该库包含 Kotlin 源代码,该库与已经启动的 android java 交互(例如,参数传递)项目。

如果是这种情况,只需在 build.gradle(引用应用程序的那个)中添加 Kotlin 依赖项,以添加使用库所需的语言支持。

dependencies {

    //.....

    implementation "androidx.core:core-ktx:+"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

这也可能在使用 Kotlin 源文件时发生,但如果您添加 Kotlin 源文件,Android Studio IDE 会提供良好的支持,会提示您是否要向项目添加 Kotlin 语言支持,因此更可能的问题是源于与第三方库的交互

【讨论】:

    【解决方案3】:

    如果您使用 Retrofit 等库,则必须将此参数添加到构建 gradle 文件中

    android{
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    
        kotlinOptions {
            jvmTarget = JavaVersion.VERSION_1_8.toString()
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      相关资源
      最近更新 更多