在Google Play商店上载APK后,React本机应用程序崩溃,这仅是第一次崩溃

时间:2019-08-12 08:04:02

标签: android firebase react-native google-play

我正在使用react-native开发一个应用程序。使用./gradlew assembleRelease生成Apk后,一切正常。但是,当我将apk上传到Google Play商店并进行安装时,它仅是第一次崩溃。并给出以下错误。

Fatal Exception: java.lang.IllegalAccessError
Interface com.google.android.gms.internal.measurement.zzge implemented by class com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver is inaccessible (declaration of 'com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver' appears in base.apk)
java.lang.VMClassLoader.findLoadedClass (VMClassLoader.java)
java.lang.ClassLoader.findLoadedClass (ClassLoader.java:738)
java.lang.ClassLoader.loadClass (ClassLoader.java:363)
java.lang.ClassLoader.loadClass (ClassLoader.java:312)
android.app.AppComponentFactory.instantiateReceiver (AppComponentFactory.java:84)
android.app.ActivityThread.handleReceiver (ActivityThread.java:3482)
android.app.ActivityThread.access$1400 (ActivityThread.java:207)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1759)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loop (Looper.java:193)
android.app.ActivityThread.main (ActivityThread.java:6863)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:537)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)

我尝试过更改proguard-rules.pro

# firebase
-dontwarn com.google.android.gms.**
-keep class com.google.android.gms.** { *; }
-keep class com.google.firebase.** { *; } 
-keep class io.invertase.firebase.** { *; }
-dontwarn io.invertase.firebase.**

我也尝试过将此代码添加到AndroidManifest.xml文件中

<receiver
         android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
android:permission="android.permission.INSTALL_PACKAGES"
android:enabled="true">
<intent-filter>
  <action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>

此问题不是直接安装和检查发行版APK来的,而是仅在apk在Play商店上载并首次下载时发生。

我已经尝试了几天了。如果有人帮助我解决这个问题,我将感到非常高兴。

1 个答案:

答案 0 :(得分:0)

我终于找到了解决这个问题的方法。这与proguard规则无关,但是由于使用Firebase和Google库的版本不匹配。检查所有gms库版本和firebase库版本,并使用提到的版本一起使用。检出Google库release versionsupport libraries version