• 简单Android代码混淆(转)


    代码混淆步骤:

    1,project.properties中打开代码混淆功能,加入proguard.config=proguard.cfg

    2,编辑proguard.cfg文件,项目没有自动生成时可手工新建并放到项目根目录,内容如下

    -optimizationpasses 5  
    -dontusemixedcaseclassnames  
    -dontskipnonpubliclibraryclasses  
    -dontpreverify  
    -verbose  
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  
    -ignorewarnings  
    -libraryjars libs/android-support-v4.jar  
      
    -dontwarn android.support.v4.**      
    -keep class android.support.v4.** { *; }    
    -keep interface android.support.v4.app.** { *; }    
    -keep public class * extends android.support.v4.**    
    -keep public class * extends android.app.Fragment  
      
    -libraryjars libs/asmack.jar  
    -libraryjars libs/aws-android-sdk-1.7.1.1-core.jar  
    -libraryjars libs/aws-android-sdk-1.7.1.1-s3.jar  
    -libraryjars libs/LibFrameWidget.jar  
    -libraryjars libs/LibFramework.jar  
    -libraryjars libs/locSDK_4.0.jar  
    -libraryjars libs/umeng_sdk.jar  
    -libraryjars libs/zxing-core.jar  
    -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 com.android.vending.licensing.ILicensingService  
      
    -keepclasseswithmembernames class * {  
        native <methods>;  
    }  
      
    -keepclasseswithmembernames class * {  
        public <init>(android.content.Context, android.util.AttributeSet);  
    }  
      
    -keepclasseswithmembernames class * {  
        public <init>(android.content.Context, android.util.AttributeSet, int);  
    }  
      
    -keepclassmembers enum * {  
        public static **[] values();  
        public static ** valueOf(java.lang.String);  
    }  
      
    -keep class * implements android.os.Parcelable {  
      public static final android.os.Parcelable$Creator *;  
    }
    

      

    应该注意的地方如下:

    1,android-support-v4.jar报错的话,要加上下面的代码

    -ignorewarnings

    -dontwarn android.support.v4.**    
    -keep class android.support.v4.** { *; }  
    -keep interface android.support.v4.app.** { *; }  
    -keep public class * extends android.support.v4.**  
    -keep public class * extends android.app.Fragment

    2,所有Libs下的jar包都要加上引用说明,格式如下(*未对应的jar包名称)

    -libraryjars libs/*.jar

  • 相关阅读:
    Linux安装svn
    spring低版本报错:java.lang.IllegalStateException: Context namespace element ‘annotation-config’ and its parser class [*] are only available on
    linux下nproc的作用
    Oracle存储过程--案例
    Oracle存储过程
    LoadRunner 11 安装
    BZOJ 1061 志愿者招募(最小费用最大流)
    ZOJ 1015 Fishing Net(判断弦图)
    BZOJ 1049 数字序列(LIS)
    topcoder srm 620 div1
  • 原文地址:https://www.cnblogs.com/JayK/p/4900408.html
Copyright © 2020-2023  润新知