在 混淆代码规则文件中(proguard-rules/pro),加入:
保证关键代码不会不被混淆导致出错。
#retrofit2 混淆
-dontwarn javax.annotation.**
-dontwarn javax.inject.**
# OkHttp3
-dontwarn okhttp3.logging.**
-keep class okhttp3.internal.**{*;}
-dontwarn okio.**
# Retrofit
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
# RxJava RxAndroid
-dontwarn sun.misc.**
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
rx.internal.util.atomic.LinkedQueueNode consumerNode;
}
# Gson
-keep class com.google.gson.stream.** { *; }
-keepattributes EnclosingMethod
#-keep class com.mvp.entitry.**{*;}//改成自己的实体类包
#例如:-keep class com.smartpos.payhero.txb.bean.**{*;}
本文介绍如何通过配置ProGuard规则文件来避免Retrofit2、OkHttp3、RxJava/RxAndroid、Gson等常用库在混淆过程中出现问题。通过特定的规则设置确保关键代码部分不会被错误地混淆。
1013

被折叠的 条评论
为什么被折叠?



