小编Rad*_*nda的帖子

将 android gradle 插件更新到 4.1.0 后 afterEvaluate 不起作用

您好,我们afterEvaluate在根目录中使用build.gradle来设置一些BuildConfig值并上传档案,但是在更新 gradle 插件之后

com.android.tools.build:gradle:4.0.1
Run Code Online (Sandbox Code Playgroud)

com.android.tools.build:gradle:4.1.0
Run Code Online (Sandbox Code Playgroud)

似乎afterEvaluate根本没有被触发。

知道如何解决这个问题吗?

build.gradle看起来像这样

subprojects{
...
 android{
 ...
    afterEvaluate { project ->
        buildTypes.each { buildType ->
            final String suffix = buildType.name == 'release' ? '' : ".${buildType.name}"

            project.libraryApplicationIds.each { String constant, String libAppId ->
                buildType.buildConfigField "String", constant, "\"$libAppId$suffix\""
                buildType.manifestPlaceholders[constant] = "$libAppId$suffix"
            }
        }
    }
 ...
 }
...
}
Run Code Online (Sandbox Code Playgroud)

android gradle

5
推荐指数
1
解决办法
4009
查看次数

Kotlinx.kover - 随机失败的单元测试

将kover添加到项目后不久

classpath("org.jetbrains.kotlinx:kover:${PluginVersions.kover}")

apply plugin: 'kover'
Run Code Online (Sandbox Code Playgroud)

单元测试随机开始失败(但是在项目中没有 kover 的情况下它们运行没有任何失败)。我什至尝试禁用失败的测试,但越来越多的随机失败不断出现。

我们使用经典的 kotlin.test.Test 测试和一些库来帮助测试(io.mockk.mockk)。

知道什么可能导致这种情况吗?

Kover Gradle 插件版本:0.6.1

摇篮版本:7.4.2

堆栈跟踪:

java.lang.IllegalArgumentException: Unsupported class file major version 61
at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:196)
at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:177)
at net.bytebuddy.jar.asm.ClassReader.<init>(ClassReader.java:163)
at net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:86)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:3824)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2166)
at net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder.make(RedefinitionDynamicTypeBuilder.java:224)
at net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder.make(AbstractInliningDynamicTypeBuilder.java:123)
at net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3595)
at io.mockk.proxy.jvm.transformation.InliningClassTransformer.transform(InliningClassTransformer.kt:78)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169)
at io.mockk.proxy.jvm.transformation.JvmInlineInstrumentation.retransform(JvmInlineInstrumentation.kt:28)
at io.mockk.proxy.common.transformation.RetransformInlineInstrumnetation$execute$1.invoke(RetransformInlineInstrumnetation.kt:19)
at io.mockk.proxy.common.transformation.RetransformInlineInstrumnetation$execute$1.invoke(RetransformInlineInstrumnetation.kt:6)
at io.mockk.proxy.common.transformation.ClassTransformationSpecMap.applyTransformation(ClassTransformationSpecMap.kt:41)
at io.mockk.proxy.common.transformation.RetransformInlineInstrumnetation.execute(RetransformInlineInstrumnetation.kt:16)
at io.mockk.proxy.jvm.ProxyMaker.inline(ProxyMaker.kt:88)
at io.mockk.proxy.jvm.ProxyMaker.proxy(ProxyMaker.kt:30)
at io.mockk.impl.instantiation.JvmMockFactory.newProxy(JvmMockFactory.kt:34)
at io.mockk.impl.instantiation.AbstractMockFactory.newProxy$default(AbstractMockFactory.kt:29)
at io.mockk.impl.instantiation.AbstractMockFactory.mockk(AbstractMockFactory.kt:59)
at packagename.base.user.web.repository.UserWebMergeRepositoryTest$test$1.invokeSuspend(UserWebMergeRepositoryTest.kt:89)
at packagename.base.user.web.repository.UserWebMergeRepositoryTest$test$1.invoke(UserWebMergeRepositoryTest.kt)
at …
Run Code Online (Sandbox Code Playgroud)

android kotlin kover

5
推荐指数
0
解决办法
143
查看次数

标签 统计

android ×2

gradle ×1

kotlin ×1

kover ×1