java.lang.NoSuchMethodError:没有静态方法registerDefaultInstance与Fi



当我添加implementation 'com.google.firebase:firebase-perf-ktx:19.1.0'时,我无法启动浓缩咖啡仪器测试("app"方案构建(好的)。当我尝试启动Espresso测试时,我有

Test running failed: Process crashed.
java.lang.NoSuchMethodError: No static method registerDefaultInstance(Ljava/lang/Class;Lcom/google/protobuf/GeneratedMessageLite;)V in class Lcom/google/protobuf/GeneratedMessageLite

但是如果我删除implementation 'com.google.firebase:firebase-perf-ktx:19.1.0'一切工作正常。如何保持Firebase性能库和Espresso仪器测试?

在我的情况下,这似乎是由protobuf-lite:3.0.1依赖于最近更新的androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'引起的,我能够修复这个排除

androidTestImplementation (androidx.test.espresso:espresso-contrib:3.4.0'){
exclude module: "protobuf-lite"
}

如果是KTX

testImplementation('androidx.test.espresso:espresso-contrib:3.4.0') {
exclude(module = "protobuf-lite")
}

这是工作:

androidTestImplementation('androidx.test.espresso:espresso-contrib:3.4.0') {
exclude module: "protobuf-lite"
}
androidTestImplementation ('androidx.test.espresso:espresso-accessibility:3.4.0') {
exclude module: "protobuf-lite"
}

这是工作:

androidTestImplementation("androidx.test.espresso:espresso-contrib:3.4.0") 
{
exclude(group: "com.google.protobuf", module: "protobuf-lite")
}

如前所述,它是protobuf-lite运行时,随androidx.test.espresso:espresso-contribdeep而来。

当检查依赖关系时,在调试模式下运行instrumentation测试(debugAndroidTestRuntimeClasspath)时,这个深度似乎起作用

./gradlew app:dependencies

在应用程序构建中添加以下行。gradle将在debugAndroidTestRuntimeClasspath配置中排除它,您的测试应该再次运行良好:)

configurations
{
debugAndroidTestRuntimeClasspath.exclude group: 'com.google.protobuf' module: 'protobuf-lite'
}

我最近得到了一个非常类似的错误,而运行android排毒测试与react native。排除protobuf-lite模块为我解决它。

改变:androidTestImplementation('com.wix:detox:+')

:androidTestImplementation('com.wix:detox:+') { exclude module: "protobuf-lite" }

android/app/build.gradle内部为我修复了它。

看起来您可能需要修改指定依赖项的方式,并使用如下内容:

implementation(Deps.Firebase.performance)
{
exclude(group = "com.google.protobuf", module="protobuf-java")
}

源:

https://github.com/firebase/firebase-android-sdk/issues/1907

最新更新