android app verify,Android Studio 3.2上的AndroidX – 运行应用时的VerifyError

在将应用迁移到Android Studio 3.2并使用AndroidX库后,开发者遇到签名APK生成时的Java.lang.VerifyError。尽管尝试了排除AndroidX库的混淆规则以及其他保留类和接口的策略,问题依然存在。错误涉及到d.a类和androidx.preference库,提示'this' argument 不匹配。已经启用Jetifier,但问题未解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将我的应用迁移到

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库有关吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值