Android Studio 3.2上的AndroidX – 运行应用时的VerifyError

前端之家收集整理的这篇文章主要介绍了Android Studio 3.2上的AndroidX – 运行应用时的VerifyError前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
将我的应用迁移到 Android Studio 3.2上的AndroidX库.
在调试中运行时,一切都按预期工作但如果我生成一个签名的APK,使用Proguard进行模糊处理 – 我收到此错误
java.lang.VerifyError: Verifier rejected class d.a: androidx.preference.Preference d.a.a(androidx.fragment.app.k,int)
Failed to verify: androidx.preference.Preference d.a.a(androidx.fragment.app.k,int): [0x8] ‘this’ argument ‘Reference:
androidx.fragment.app.k’ not instance of ‘Reference: 
androidx.preference.B’ (declaration of ‘d.a’ appears in base.apk)

我已经尝试排除所有AndroidX库:

-dontwarn androidx.**
-keep class androidx.** { *; }
-keep interface androidx.** { *; }

但问题仍然存在,除非我基本上取消使用的混淆

-keep class com.myapp.package.** { *; }

还尝试查看d.a类的映射文件,但它没有提示我问题的方向.

Jetifier已启用

android.useAndroidX=true
android.enableJetifier=true

我在这里错过了什么吗?这有可能是这个问题与androix.preference库有关吗?

>在Google issue tracker上打开了一个错误.

解决方法

编译时和运行时之间java类的不一致可能导致java.lang.VerifyError,试试文件 – >无效缓存/重新启动… – >无效并重新启动

猜你在找的Android相关文章