android 代码混淆
来源:互联网 发布:如何在手机开淘宝网店 编辑:程序博客网 时间:2024/06/11 11:32
工程根目录下有两个文件,一个是proguard-project.txt(低版本的SDK文件名是proguard.cfg),另一个是project.properties。混淆的方法很简单:在project.properties文件中加入一行:proguard.config=proguard-project.txt。
但是这个时候导出的时候会有一堆报错,说找不到android-support-v4这个jar包,这时候就需要我们手动去proguard-project.txt文件中为其指定了,在proguard-project.txt文件中添加以下内容:
-libraryjars ./libs/android-support-v4.jar-dontwarn android.support.v4.** -dontwarn **CompatHoneycomb-dontwarn **CompatHoneycombMR2-dontwarn **CompatCreatorHoneycombMR2-keep interface android.support.v4.app.** { *; }-keep class android.support.v4.** { *; }-keep public class * extends android.support.v4.**-keep public class * extends android.app.Fragment
其实proguard-project.txt这个文件中还是有很多可以自定义的属性的,以下仅供参考:
-optimizationpasses 5 # 指定代码的压缩级别-dontusemixedcaseclassnames # 是否使用大小写混合-dontskipnonpubliclibraryclasses # 是否混淆第三方jar-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 *;}-keep class MyClass; # 保持自己定义的类不被混淆
- Android 代码混淆,混淆打包
- Android 代码混淆 webview混淆
- [Android]混淆Android代码
- [Android]混淆Android代码
- Android代码混淆------apk文件代码混淆
- android 代码混淆proguard
- Android项目代码混淆
- android 代码混淆总结
- android 代码混淆
- android代码混淆
- 混淆Android代码
- Android代码混淆 反编译
- android 代码混淆
- Android 代码混淆
- android 代码混淆
- Android代码混淆技术
- android 代码混淆
- Android代码混淆
- 左旋转字符串
- 认识js中的function和this
- remap_pfn_range()详解
- linux内核启动流程(上)
- AndroidManifest.xml文件解析
- android 代码混淆
- C# 获取系统信息
- 成功的”四行“理论
- uwsgi no app loaded. going in full dynamic mode ubuntu
- web安全测试基础1
- Android 获取手机信息
- 中文乱码处理
- 一口一口吃掉Struts(五)——测试Struts标签库
- linux2.6内核ppp分析