如何解决致命异常:ScioFrontendApi 在使用 Firebase 为 Android 应用升级谷歌播放服务时
我已经从我的 firebase 帐户下载了新的 google-services.json 并正确放置了它。 这是 FirebaseInstallations 迁移过程的一部分:https://github.com/firebase/firebase-android-sdk/blob/master/firebase-installations/REQUIRED_FIREBASE_OPTIONS_ANDROID.md#what-do-i-need-to-do
2021-04-24 17:34:21.486 9619-9642/in.mycompany.myapp E/AndroidRuntime: FATAL EXCEPTION: ScionFrontendApi
Process: in.mycompany.myapp,PID: 9619
java.lang.VerifyError: Verifier rejected class com.google.android.gms.measurement.internal.zzfp: void com.google.android.gms.measurement.internal.zzfp.zzN(java.lang.String,int,java.lang.Throwable,byte[],java.util.Map) failed to verify: void com.google.android.gms.measurement.internal.zzfp.zzN(java.lang.String,java.util.Map): [0x37] 'this' arg must be initialized (declaration of 'com.google.android.gms.measurement.internal.zzfp' appears in /data/app/in.mycompany.myapp-zfkLQ-CtTDdM7bRGUt2Hog==/base.apk)
at com.google.android.gms.measurement.internal.zzfp.zzC(Unknown Source:0)
at com.google.android.gms.measurement.internal.AppMeasurementDynamiteService.initialize(com.google.android.gms:play-services-measurement-sdk@@18.0.3:2)
at com.google.android.gms.internal.measurement.zzal.zza(com.google.android.gms:play-services-measurement-sdk-api@@18.0.3:12)
at com.google.android.gms.internal.measurement.zzbh.run(com.google.android.gms:play-services-measurement-sdk-api@@18.0.3:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
我的应用依赖项 (app/build.gradle) 如下所示:
implementation project(':react-native-gesture-handler')
implementation project(':react-native-fs')
implementation project(':react-native-video')
implementation project(':react-native-branch')
implementation jscFlavor
implementation project(':react-native-image-picker')
implementation project(':react-native-scan-barcode')
implementation project(':react-native-bluetooth-escpos-printer')
implementation project(':react-native-image-to-base64')
implementation project(':react-native-mp-android-chart')
implementation project(':react-native-doc-viewer')
implementation project(':react-native-fetch-blob')
implementation project(':react-native-shimmer')
implementation(project(':react-native-device-info'))
implementation project(':react-native-code-push')
implementation project(':react-native-linear-gradient')
implementation project(':react-native-webview')
implementation fileTree(include: ['*.jar'],dir: 'libs')
// From node_modules
implementation project(':react-native-file-chooser')
implementation('com.google.android.material:material:1.0.0') {
force = true;
}
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
exclude group:'com.facebook.fbjni'
}
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
exclude group:'com.squareup.okhttp3',module:'okhttp'
}
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
}
implementation 'androidx.multidex:multidex:2.0.1'
implementation platform('com.google.firebase:firebase-bom:27.0.0')
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-core'
implementation 'com.google.firebase:firebase-config'
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.code.gson:gson:2.7'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation ('com.squareup.okhttp3:okhttp:3.11.0'){
force = true;
}
implementation 'com.google.android.gms:play-services-tagmanager:17.0.0'
implementation project(':react-native-android-circles')
implementation 'com.facebook.fresco:fresco:1.13.0'
implementation 'com.facebook.fresco:animated-gif:1.13.0'
implementation(project(':react-native-maps'))
implementation('com.google.android.gms:play-services-base:17.6.0')
implementation('com.google.android.gms:play-services-maps:17.0.0')
implementation 'com.newrelic.agent.android:android-agent:5.19.1'
implementation 'com.facebook.stetho:stetho:1.5.1'
implementation 'com.facebook.stetho:stetho-okhttp3:1.5.1'
implementation 'com.facebook.stetho:stetho-js-rhino:1.5.1'
androidTestImplementation('com.wix:detox:+')
我的根应用程序 build.gradle 如下所示:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.google.gms:google-services:4.3.5'
classpath "com.newrelic.agent.android:agent-gradle-plugin:5.19.1"
classpath 'com.google.android.gms:strict-version-matcher-plugin:1.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
buildToolsVersion '29.0.3'
defaultConfig {
minSdkVersion 18
targetSdkVersion 29
}
}
}
}
}
allprojects {
repositories {
google()
maven { url "https://www.jitpack.io" }
mavenLocal()
maven {
// All of React Native (JS,Obj-C sources,Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
maven {
url("$rootDir/../node_modules/jsc-android/dist")
}
jcenter()
maven { url 'https://www.jitpack.io' }
maven {
// All of Detox' artifacts are provided via the npm module
url "$rootDir/../node_modules/detox/Detox-android"
}
}
}
解决方法
很明显,firebase 和 google play 服务的版本范围是不同的。
firebase bom 27 & 26
引入了 firebase-analytics-18.0.3
,后者引入了 com.google.android.gms:play-services-measurement:18.0.3
,但我的 gms 依赖项(如 com.google.android.gms:play-services-tagmanager:17.0.0
)本来希望使用 17 范围内的测量依赖项。>
因此,将 firebase bom 版本降低到 25 对我来说是可行的。
调试是通过 ./gradlew :app:dependencies --configuration productionReleaseRuntimeClasspath
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。