java.lang.NoSuchFieldException java.lang.NoSuchMethodError

安卓代码混淆问题出现的报错,在此记录:引用包冲突、混淆规则错误

报错1 相同包名冲突-org.xmlpull.v1

java.lang.NoSuchMethodError: No static method e()Lorg/xmlpull/v1/XmlPullParserFactory; in class Lorg/xmlpull/v1/XmlPullParserFactory; or its super classes (declaration of 'org.xmlpull.v1.XmlPullParserFactory' appears in /system/framework/core-libart.jar)

#混淆报错 需要添加
-dontwarn org.xmlpull.v1.XmlPullParser
-dontwarn org.xmlpull.v1.XmlSerializer
-keep class org.xmlpull.v1.* {*;}
// 添加依赖时
implementation( 'com.github.siyamed:android-shape-imageview:0.9.3') { exclude group: 'org.xmlpull.v1' }

报错2-成员变量名称被混淆,反编译错误-rx.internal.util.unsafe

##rxjava的混淆配置
-dontwarn java.util.concurrent.Flow*
-dontwarn sun.misc.**
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
    long producerIndex;
    long consumerIndex;
}
stackTrace: java.lang.InternalError
	at rx.internal.util.o.n0.a(UnsafeAccess.java:109)
	at rx.internal.util.o.k.<clinit>(MpmcArrayQueue.java:57)
	at rx.internal.util.f.a(ObjectPool.java:143)
	at rx.internal.util.f.<init>(ObjectPool.java:60)
	at rx.internal.util.f.<init>(ObjectPool.java:39)
	at rx.internal.util.j$a.<init>(RxRingBuffer.java:280)
	at rx.internal.util.j.<clinit>(RxRingBuffer.java:280)
	at rx.c.a(Observable.java:6209)
    ...
Caused by: java.lang.NoSuchFieldException: No field consumerIndex in class Lrx/internal/util/o/k; (declaration of 'rx.internal.util.o.k' appears in /data/app/包名-QSgLmq8jVkFAvHzWwKnNoQ==/base.apk!classes3.dex)
	at java.lang.Class.getDeclaredField(Native Method)
	at rx.internal.util.o.n0.a(UnsafeAccess.java:106)
	... 24 more

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值