Android Studio实现代码混淆
来源:互联网 发布:linux域控 编辑:程序博客网 时间:2024/05/01 22:26
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” 错误。
0 0
- Android Studio实现代码混淆
- Android studio 实现混淆代码
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆
- Android Studio实现代码混淆 配置详解
- bootstrap学习笔记-导航和导航条
- 指针形参
- CrackingtheCodeInterview之递归和动态规划
- MyBatis快速入门_1
- 大小和尺寸的概念
- Android Studio实现代码混淆
- Linux gcc编译器常用命令和使用
- Undefined symbols for architecture i386或者armv7: “_OBJC_CLASS_$_XXX
- 如何将mysql数据库的表导出到本地csv格式
- androidstudio git项目到github出现的错误解决办法
- Part8:定制new和delete
- Redis学习三:redis的sentinel使用
- unity 接入移动MM (3.1.10)
- Sqoop导入关系数据库到Hive