Ult*_*o_m 5 android gradle jacoco kotlin android-studio
今天我更新了 android studio 中的 gradle 和 kotlin 依赖项。
新版本如下:
kotlin_version = "1.5.10"
...
jacoco {
toolVersion = "0.8.6"
}
...
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
Run Code Online (Sandbox Code Playgroud)
测试覆盖率报告任务失败并出现以下错误:
2021-05-27T16:57:49.150+0200 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':consumerkit:testDebugUnitTestCoverage'.
2021-05-27T16:57:49.304+0200 [DEBUG] [org.codehaus.groovy.vmplugin.VMPluginFactory] Trying to create VM plugin `org.codehaus.groovy.vmplugin.v9.Java9` by checking `java.lang.Module`, but failed:
java.lang.ClassNotFoundException: java.lang.Module
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.codehaus.groovy.vmplugin.VMPluginFactory.lambda$createPlugin$0(VMPluginFactory.java:61)
at java.security.AccessController.doPrivileged(Native Method)
Run Code Online (Sandbox Code Playgroud)
对于科特林1.5
你应该使用JaCoCo0.8.7
代替0.8.6
-见https://github.com/jacoco/jacoco/pull/1164和完整的更新在https://www.jacoco.org/jacoco/trunk/doc/changes.html
示例片段:
// build.gradle or build.gradle.kts
jacoco {
toolVersion = "0.8.7"
}
Run Code Online (Sandbox Code Playgroud)
我已经有了
jacoco {
toolVersion = "0.8.7"
}
Run Code Online (Sandbox Code Playgroud)
配置完成,但无论如何都不起作用,解决问题的方法是遵循此处的评论
build.gradle
切换回:android {
//....
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
不用担心,如果您尚未使用 Java 11 语言功能,它不会破坏任何内容,AGP 7 仍然与 JDK 8 作为目标兼容。
allprojects
根build.gradle
文件的块中,添加以下内容:allprojects {
//... other things
// workaround to fix an auto-import of a lower Jacoco version
resolutionStrategy {
eachDependency { details ->
if ('org.jacoco' == details.requested.group) {
details.useVersion "0.8.7"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在它应该可以使用:
AGP 7.0.X
Kotlin 1.5.X
JDK 11 (embedded with AS)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1025 次 |
最近记录: |