Firebase 消息传递仅在发布版本中使应用程序崩溃

问题描述 投票:0回答:1

我的(Flutter)移动应用程序使用 Firebase 消息传递,并且在调试模式下工作正常,但是当我在发布模式下运行/构建它时,它会在收到来自 Firebase 的消息后崩溃。我怀疑

onMessage.listen
会导致应用程序崩溃。它仅发生在 Android 设备上。

在 Firebase 项目设置期间或 Android 应用配置中是否有我可能错过的任何内容?

收到消息后会产生以下错误日志:

E/AndroidRuntime(26859): FATAL EXCEPTION: firebase-iid-executor
E/AndroidRuntime(26859): Process: com.company.app, PID: 26859
E/AndroidRuntime(26859): java.lang.IllegalAccessError: Illegal class access: 'b.c.a.b.d.a' attempting to access 'b.c.a.b.b.a.c' (declaration of 'b.c.a.b.d.a' appears in base.apk)
E/AndroidRuntime(26859):        at b.c.a.b.d.a.<init>(Unknown Source:169)
E/AndroidRuntime(26859):        at b.c.a.b.d.a.<init>(:1)
E/AndroidRuntime(26859):        at com.google.firebase.messaging.l0.b(:1)
E/AndroidRuntime(26859):        at com.google.firebase.messaging.Y.e(:2)
E/AndroidRuntime(26859):        at com.google.firebase.messaging.m.call(:1)
E/AndroidRuntime(26859):        at b.c.a.b.e.F.run(Unknown Source:4)
E/AndroidRuntime(26859):        at com.google.firebase.messaging.n.execute(Unknown Source:0)
E/AndroidRuntime(26859):        at b.c.a.b.e.m.c(Unknown Source:20)
E/AndroidRuntime(26859):        at com.google.firebase.messaging.o.c(:1)
E/AndroidRuntime(26859):        at b.c.a.b.a.a.b(:1)
E/AndroidRuntime(26859):        at b.c.a.b.a.a.a(Unknown Source:21)
E/AndroidRuntime(26859):        at b.c.a.b.a.g.run(Unknown Source:10)
E/AndroidRuntime(26859):        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/AndroidRuntime(26859):        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime(26859):        at com.google.android.gms.common.util.e.b.run(Unknown Source:6)
E/AndroidRuntime(26859):        at java.lang.Thread.run(Thread.java:923)
firebase flutter dart firebase-cloud-messaging flutter-dependencies
1个回答
5
投票

通过将以下代码添加到

/android/app/build.gradle
解决了问题:

...
buildTypes {
        release {
            ...
            shrinkResources false
            minifyEnabled false
        }
    }

并将以下代码添加到

/android/gradle.properties

android.enableR8=false
© www.soinside.com 2019 - 2024. All rights reserved.