美文网首页android
Android 常用混淆

Android 常用混淆

作者: 风染墨 | 来源:发表于2017-03-12 13:41 被阅读90次

基本的不需要混淆的

    -keep public class * extends android.app.Activity
    -keep public class * extends android.app.Application
    -keep public class * extends android.app.Service
    -keep public class * extends android.content.BroadcastReceiver
    -keep public class * extends android.content.ContentProvider
    -keep public class * extends android.app.backup.BackupAgentHelper
    -keep public class * extends android.preference.Preference
    -keep public class * extends android.view.View
    -keep public class com.android.vending.licensing.ILicensingService
    -keep class android.support.** {*;}
    
    -keepclasseswithmembernames class * {
        native <methods>;
    }
    -keepclassmembers class * extends android.app.Activity{
        public void *(android.view.View);
    }
    -keepclassmembers enum * {
        public static **[] values();
        public static ** valueOf(java.lang.String);
    }
    -keep public class * extends android.view.View{
        *** get*();
        void set*(***);
        public <init>(android.content.Context);
        public <init>(android.content.Context, android.util.AttributeSet);
        public <init>(android.content.Context, android.util.AttributeSet, int);
    }
    -keepclasseswithmembers class * {
        public <init>(android.content.Context, android.util.AttributeSet);
        public <init>(android.content.Context, android.util.AttributeSet, int);
    }
    -keep class * implements android.os.Parcelable {
      public static final android.os.Parcelable$Creator *;
    }
    -keepclassmembers class * implements java.io.Serializable {
        static final long serialVersionUID;
        private static final java.io.ObjectStreamField[] serialPersistentFields;
        private void writeObject(java.io.ObjectOutputStream);
        private void readObject(java.io.ObjectInputStream);
        java.lang.Object writeReplace();
        java.lang.Object readResolve();
    }
    -keep class **.R$* {
     *;
    }
    -keepclassmembers class * {
        void *(**On*Event);
    }

实体类

    -keep class com.example.test.Bean.** { *; }

Butter Knife

    #Butter Knife
    -keep class butterknife.** { *; }
    -dontwarn butterknife.internal.**
    -keep class **$$ViewBinder { *; }
    -keepclasseswithmembernames class * {
        @butterknife.* <fields>;
    }
    -keepclasseswithmembernames class * {
        @butterknife.* <methods>;
    }

Retrofit

    # Retrofit
    -dontwarn  okhttp3.*
    -dontnote okhttp3.**
    -keep class okhttp3.* { *; }
    -dontnote retrofit2.**
    -dontwarn retrofit2.**
    -keep class retrofit2.** { *; }
    -keepattributes Signature
    -keepattributes Exceptions

RxJava RxAndroid

    # 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

    # Gson
    -keepattributes Signature
    -keepattributes *Annotation*
    -keep class com.google.gson.stream.** { *; }
    

Glide

        # Glide
        -keep public class * implements com.bumptech.glide.module.GlideModule
        -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
          **[] $VALUES;
          public *;
        }

dagger

    # dagger
    -dontwarn dagger.**
    -dontwarn com.squareup.javapoet.**
    -dontwarn com.google.common.**
    

相关文章

  • Android 混淆相关

    Android 混淆原则 混淆 ProGuard常用语法 混淆基本指令

  • Android 常用混淆

    基本的不需要混淆的 实体类 Butter Knife Retrofit RxJava RxAndroid Gson...

  • Android常用混淆配置

    为了应用的安全,通常我们将Android项目进行打包时,会把项目里的包名、类名、变量名及架包进行混淆加密,以免被轻...

  • Android混淆 - 常用框架

    不混淆指定的jar库 Android类 okio Gson Eventbus 微信支付 环信客服 小米push B...

  • 代码混淆

    1.混淆文件方法:Android Studio混淆模板及常用第三方混淆(看了都说好) - 简书 2.忽略第三方ja...

  • ProGuard详解

    Android分享:代码混淆那些事Android代码混淆之混淆规则Android-Dev-Favorites An...

  • Android 代码混淆语法讲解及常用模板

    转载请注明原博客地址 Android 代码混淆语法讲解及常用模板 前言 混淆对于每一个开发者来说都不陌生,对于大...

  • 关于android studio混淆记录

    混淆是发布app最基本的安全保护方法 也是让很多android开发人员头疼的问题 在此我也列出比较常用的混淆(第三...

  • Android常用框架混淆代码

    通常不需混淆的Android类 Butter Knife Retrofit RxJava RxAndroid Gs...

  • Android常用的混淆配置

    先看一下语法 配置 -ignorewarnings # 忽略警告,避免打包时某些警告出现-optimizat...

网友评论

    本文标题:Android 常用混淆

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