关于android混淆
来源:互联网 发布:sql 2005 sa 默认密码 编辑:程序博客网 时间:2024/05/18 02:11
android studio添加混淆
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/* # 混淆时所采用的算法
#以下android的基本类需要保证其不被混淆
-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 # 保持哪些类不被混淆
#native方法不能被混淆-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 *;}
#其他针对于jar包也是不可以被混淆的
通常通过-dontwarn和-keep保证其jar包中的类不被混淆
#同样R文件也是不能被混淆的,需要注意,所有应用到反射的代码都是不可以被混淆的,混淆会导致其变量名与类名改变,因此在反射时会因无法找到其类名而出错。
0 0
- 关于android代码混淆
- 关于android混淆
- 关于Android studio混淆
- 关于Android 混淆
- Android 中关于代码混淆
- 关于Android混淆文件统一管理
- 关于Android ProGuard混淆学习记录
- 关于Android使用proguard进行代码混淆
- 关于Android使用proguard进行代码混淆
- 关于Android使用proguard进行代码混淆
- 关于android打jar文件混淆问题
- 关于Android项目混淆遇到的问题
- 关于Android使用proguard进行代码混淆
- 关于Android studio混淆遇到的问题
- Android关于混淆打包的记录
- 关于 Android 混淆的一些心得
- 关于Android混淆的一次折腾
- 关于android studio的混淆操作
- Git详解之四 服务器上的Git
- ip地址类
- IDEA UL pom.xml报错,加载不了maven依赖库
- c语言字符串函数总结(超级全)
- Git详解之五 分布式Git
- 关于android混淆
- 剑指offer 从尾到头打印链表
- 推荐一个压缩图片,但是品质影响不大的网站(二)之原理探索
- CQOI2016 bzoj4519 不同的最小割cuts
- CSRF攻击方式
- Git详解之六 Git工具
- ScrollView嵌套ListView(GridView同理)
- 配置tomcat
- MeasureSpec学习