在Android中构建我的项目时,我会得到以下错误。
模块是用不兼容的Kotlin版本编译的。其元数据的二进制版本为1.5.1,预期版本为1.1.16。
我尝试过将我的项目级gradle文件中的Kotlin版本更改为几乎所有可用的稳定版本,但都没有成功。使此错误消失的Kotlin的一两次稳定版本会产生自己的错误。
当前的Gradle版本5.6.4与Kotlin插件不兼容。请使用Gradle 6.1.1或更高版本,或以前版本的Kotlin插件。jav.lang.noClassDefFoundError
Build file 'C:\Users\pictu\Downloads\ble-starter-android-master\ble-starter-android-master\app\build.gradle' line: 18
A problem occurred evaluating project ':app'.
> org/gradle/api/services/BuildService
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating project ':app'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:227)
at
...
org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
... 130 more
Caused by: java.lang.ClassNotFoundException: org.gradle.api.services.BuildService
... 160 more
我尝试过使用multiDex,我尝试过更改Kotlin版本,我尝试过更改compileSdkVersion + minSdkVersion + targetSdkVersion,但是它们都没有起作用。我也看过几个这样的帖子,但我没有发现任何帮助我的具体问题。
更新1:错误消息特别指出了这一行。
应用插件:kotlin-android
更新2: -- this SO post的答案--帮助我得到了进一步的进展。现在,我得到了这个神秘的堆栈跟踪,它提到了一个循环引用。在这种情况下,我还没有发现循环引用是什么。
Invoke-customs are only supported starting with Android O (--min-api 26)
Stack trace:
com.android.tools.r8.a: Invoke-customs are only supported starting with Android O (--min-api 26)
at com.android.tools.r8.dex.r.a(:289)
at com.android.tools.r8.dex.r.a(:98)
at com.android.tools.r8.dex.r.b(:188)
at com.android.tools.r8.dex.b.a(:63)
at
...
Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.a: Invoke-customs are only supported starting with Android O (--min-api 26)]
https://stackoverflow.com/questions/73450575
复制相似问题