仅在 androidTest 上:仅从 Android O 开始支持 Invoke-customs

Ebo*_*ike 5 java android android-testing android-gradle-plugin

我的代码库使用了一些 Java 8 语法,如 lambdas,并且已经运行了很长时间。

最近,我在一个模块中的仪器测试停止使用臭名昭著的消息:

AGPBI: {"kind":"error","text":"Invoke-customs 仅支持从 Android O (--min-api 26)","sources":[{}],"tool":" D8"}

这是一个已知问题(有很多 问题参考它),但我的 1.8 中有 Java compileOptions

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)

这个问题只出现在仪器测试(即androidTest)中。单元测试和应用程序本身都很好。我已经注释掉了仪器测试中的所有测试,但问题仍然存在。

我的单元测试和 Android 测试具有相同的依赖项。我转换为 AndroidX 测试,但问题仍然存在。

dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.google.android.gms:play-services-gcm:16.1.0'

    androidTestImplementation 'org.mockito:mockito-core:2.27.0'
    androidTestImplementation 'androidx.test:core:1.1.0'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test:rules:1.1.1'
    androidTestImplementation 'androidx.test.ext:junit:1.1.0'
    androidTestImplementation 'androidx.test.ext:truth:1.1.0'
    androidTestImplementation 'com.google.truth:truth:0.42'

    testImplementation 'org.mockito:mockito-core:2.27.0'    
    testImplementation 'androidx.test:core:1.1.0'
    testImplementation 'androidx.test:runner:1.1.1'
    testImplementation 'androidx.test:rules:1.1.1'    
    testImplementation 'androidx.test.ext:junit:1.1.0'
    testImplementation 'androidx.test.ext:truth:1.1.0'
    testImplementation 'com.google.truth:truth:0.42'
}
Run Code Online (Sandbox Code Playgroud)

我正在使用最新的编译和目标版本(我也尝试了 26 和 27)并且还构建了工具。最小 SDK 版本是 14,应该是。

compileSdkVersion 28
buildToolsVersion '29.0.0 rc3'
defaultConfig {
    minSdkVersion 14
    targetSdkVersion 28
}
Run Code Online (Sandbox Code Playgroud)

Ebo*_*ike 1

这是 Android Studio 3.5 beta 中的一个错误。我向 Android Studio 团队提交了一个错误,该错误将通过 Android Studio 3.5 beta 03 构建工具修复。

  • 我认为它还没有修复。 (2认同)