retrofit+rxjava 混淆

** 下面是我找问题的时候遇见的不错的文章**

  • Android打包之Gradle打包
  • Android Studio混淆模板及常用第三方混淆
  • Android混淆及多渠道打包总结
    retrofit+rxjava 混淆_第1张图片
    D62B9328-2FD9-4A38-A32B-0FEF1E457483.png

    **混淆遇到问题 **
    retrofit 里的okhttp3 和我的拦截器 版本不一致 造成
compile 'com.squareup.okhttp3:logging-interceptor:3.0.0-RC1'

所以当你compile 一些类库的时候 要多注意

retrofit+rxjava 混淆_第2张图片
4FBB57E2-7736-4837-844B-06F61B802418.png

build.gradle文件声明

compile 'io.reactivex:rxandroid:1.1.0'
compile 'io.reactivex:rxjava:1.1.2'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.0'

proguard-rules.pro 混淆

-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 org.xz_sale.entity.**{*;}//这是你定义的实体类

你可能感兴趣的:(retrofit+rxjava 混淆)