在内部测试中,应用程序在启动时崩溃并出现致命异常:java.lang.VerifyError

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

我的应用程序在调试模式下运行良好,但是当我在内部测试中上传我的应用程序时,应用程序每次启动时都会崩溃。这是崩溃报告:

致命异常:java.lang.VerifyError:验证程序拒绝类 e.g.b.c.i.f.f2:void e.g.b.c.i.f.f2.run() 验证失败:void e.g.b.c.i.f.f2.run():[0x36] 无法从引用类型的对象访问实例字段 e.g.b.c.i.f.f0 e.g.b.c.i.f.j.b :java.lang.Object(“e.g.b.c.i.f.f2”的声明出现在/data/app/~~sg8-kWQGjjoS5OEELCEY7A==/com.example.myapp-nbqfHplywzk3pMiZRRiUsw==/base.apk中) 在 com.google.android.gms.internal.consent_sdk.zzx.zzb(zzx.java:9) 在 com.google.android.gms.internal.consent_sdk.zzw.run(zzw.java:9) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) 在java.lang.Thread.run(Thread.java:1012)

我已经提供了问题并正在寻找解决方案。

android firebase android-studio crashlytics stack-trace
1个回答
0
投票

这可能是因为混淆器混淆了你的代码。理想情况下,在发布环境中,需要对代码进行混淆,以防止发布 apk 中出现逆向工程。您可以在

app/build.gradle
中看到有
minifyEnabled true
来混淆您的代码。这是要阅读的参考

你可以尝试一些场景:

  1. 尝试将 minifyEnable 设置为
    false
    ,然后构建您的发布 apk。观察问题是否仍然发生。
  2. 如果将 minifyEnable 设置为
    false
    后没有错误,请尝试修改您的
    proguard-rules.pro
    并将数据类设置为不被混淆。这是执行此操作的参考,不要忘记再次设置
    minifyEnabled true

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.