Android Studio实现代码混淆
2016-08-17 10:33
330 查看
标签:android-studio
1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt
2,在proguard-rules.pro中加入以下代码,基本可以涵盖所有
3,通过 Android Studio进行 混淆代码时,默认已经将 lib目录中的 jar 都已经添加到打包脚本中,所以不需要再次手动添加,否则会出现“ java.io.IOException: The same input jar is specified twice” 错误。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android Studio实现代码混淆标签:android-studio
原文:http://blog.csdn.net/bjstyle/article/details/47001277
1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt
buildTypes { release { signingConfig signingConfigs.release minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘ } }
2,在proguard-rules.pro中加入以下代码,基本可以涵盖所有
-optimizationpasses 5 # 指定代码的压缩级别 -dontusemixedcaseclassnames # 是否使用大小写混合 -dontpreverify # 混淆时是否做预校验 -verbose # 混淆时是否记录日志 -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法 -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 com.android.vending.licensing.ILicensingService # 保持哪些类不被混淆 -keepclasseswithmembernames class * { # 保持 native 方法不被混淆 native <methods>; } -keepclasseswithmembers class * { # 保持自定义控件类不被混淆 public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * {# 保持自定义控件类不被混淆 public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { # 保持自定义控件类不被混淆 public void *(android.view.View); } -keepclassmembers enum * { # 保持枚举 enum 类不被混淆 public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆 public static final android.os.Parcelable$Creator *; }
3,通过 Android Studio进行 混淆代码时,默认已经将 lib目录中的 jar 都已经添加到打包脚本中,所以不需要再次手动添加,否则会出现“ java.io.IOException: The same input jar is specified twice” 错误。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android Studio实现代码混淆标签:android-studio
原文:http://blog.csdn.net/bjstyle/article/details/47001277
相关文章推荐
- Android 6.0动态权限管理
- Android百分比布局:PercentRelativeLayout
- Android安全机制探讨
- Android Transition
- Android 之surfaceView (画动态圆圈)
- Android Gradle 经验总结
- Android截图方法
- Android使用Fragment的setUserVisibleHint方法实现延时加载
- android studio 远程主机强制关闭了一个现有连接
- android基于插件式开发
- Android-圆形头像
- Android 自定义控件之图片裁剪
- Android事件总线(一)EventBus3.0用法全解析
- Android实现捕获未知异常并提交给服务器的方法
- Android事件总线(一)EventBus3.0用法全解析
- Android中Recyclerview使用9----Recyclerview的条目复用,出现CheckBox或者设置背景混乱问题
- Android NDK编译选项设置
- Android高手进阶教程(九)之----Android Handler的使用!!!
- Android软件开发Log实时查看方式(无需数据线)
- Android百分比布局:PercentFrameLayout