Android打包较全的混淆

作者: 程大哥T_T | 来源:发表于2017-05-18 10:09 被阅读106次


    亲测有用

    高德地图混淆

    #3D 地图 V5.0.0之后:

    -keepclass com.amap.api.maps.**{*;}

    -keepclass com.autonavi.**{*;}

    -keepclass com.amap.api.trace.**{*;}

    -dontwarncom.amap.api.**

    -dontwarncom.a.a.**

    -dontwarncom.autonavi.**

    -keepclass com.a.a.** {*;}

    #定位

    -keepclass com.amap.api.location.**{*;}

    -keepclass com.amap.api.fence.**{*;}

    -keepclass com.autonavi.aps.amapapi.model.**{*;}

    ##搜索

    -keepclass com.amap.api.services.**{*;}

    ##导航

    -keepclass com.amap.api.navi.**{*;}

    -keepclass com.autonavi.**{*;}

    注意:混淆打包记得更新高德地图的sh1要填发布版得,否则定位出错

    相册选择galleryfinal

    -keepclass cn.finalteam.galleryfinal.widget.*{*;}

    -keepclass cn.finalteam.galleryfinal.widget.crop.*{*;}

    -keepclass cn.finalteam.galleryfinal.widget.zoonview.*{*;}

    这里我引用的是galleryfinal 相册选择

    EventBus

    #eventbus

    -keepattributes*Annotation*

    -keepclassmembersclass ** {

    @org.greenrobot.eventbus.Subscribe ;

    }

    -keepenum org.greenrobot.eventbus.ThreadMode {*;}

    # Only required if you use AsyncExecutor

    -keepclassmembersclass * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {

    (Java.lang.Throwable);

    }

    这个在github上没有,在官网的一个角落找到的

    Butterknife

    #butterknift

    -keepclass butterknife.** {*;}

    -dontwarnbutterknife.internal.**

    -keepclass **$$ViewBinder {*;}

    -keepclasseswithmembernamesclass * {

    @butterknife.* ;

    }

    -keepclasseswithmembernamesclass * {

    @butterknife.* ;

    }

    -dontwarnjavax.annotation.**

    -dontwarnjavax.inject.**

    okhttp3

    -dontwarnokhttp3.logging.**

    -keepclass okhttp3.internal.**{*;}

    -dontwarnokio.**

    Retrofit2

    #-dontwarn retrofit2.**

    #-keep class retrofit2.** { *; }

    #-keepattributes Signature-keepattributes Exceptions

    -dontwarnretrofit2.**

    -keepclass retrofit2.** {*;}

    -keepattributesSignature

    -keepattributesExceptions

    -keepclasseswithmembersclass * {

    @retrofit2.http.* ;

    }

     RxJava RxAndroid

    -dontwarnsun.misc.**

    -keepclassmembersclass rx.internal.util.unsafe.*ArrayQueue*Field* {

    long producerIndex;

    long consumerIndex;

    }

    -keepclassmembersclass rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {

    rx.internal.util.atomic.LinkedQueueNode producerNode;

    }

    -keepclassmembersclass rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {

    rx.internal.util.atomic.LinkedQueueNode consumerNode;

    }

    gson类不被混淆

    -keepclass c.cc.going.bean.**{*;}

    -keepclass c.cc.going.view.**{*;}

    使用了Gson解析json,需要保持bean

    保留Parcelable序列化类不被混淆

    -keepclass * implements android.os.Parcelable {

    public static final android.os.Parcelable$Creator *;

    }

    相关文章

      网友评论

        本文标题:Android打包较全的混淆

        本文链接:https://www.haomeiwen.com/subject/vwxsxxtx.html