我的应用程序在调试模式下运行良好,但是当我在内部测试中上传我的应用程序时,应用程序每次启动时都会崩溃。这是崩溃报告:
致命异常: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)
我已经提供了问题并正在寻找解决方案。
这可能是因为混淆器混淆了你的代码。理想情况下,在发布环境中,需要对代码进行混淆,以防止发布 apk 中出现逆向工程。您可以在
app/build.gradle
中看到有 minifyEnabled true
来混淆您的代码。这是要阅读的参考。
你可以尝试一些场景:
false
,然后构建您的发布 apk。观察问题是否仍然发生。false
后没有错误,请尝试修改您的 proguard-rules.pro
并将数据类设置为不被混淆。这是执行此操作的参考,不要忘记再次设置minifyEnabled true
。希望有帮助。