Reputation: 993
I have downloaded fresh google-services.json from my firebase account and placed it properly. This was needed as a part of FirebaseInstallations migration process: 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, int, java.lang.Throwable, byte[], 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)
My app dependencies (app/build.gradle) look like follows:
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:+')
And my root application build.gradle looks like follows:
// 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"
}
}
}
Upvotes: 0
Views: 2517
Reputation: 993
So apparently the version ranges for firebase and google play services are different.
firebase bom 27 & 26
were pulling in firebase-analytics-18.0.3
which were pulling in com.google.android.gms:play-services-measurement:18.0.3
, but my gms dependencies like com.google.android.gms:play-services-tagmanager:17.0.0
would have wanted to use measurement dependency in the 17 range.
Hence decreasing the firebase bom version to 25 worked out for me.
Debugging was done via ./gradlew :app:dependencies --configuration productionReleaseRuntimeClasspath
Upvotes: 1