android代码混淆笔记
来源:互联网 发布:香港记者知乎 编辑:程序博客网 时间:2024/06/03 16:08
混淆处理的apk被反编译后代码中包名类名等都变成abcd之类,很难看懂。
使用代码混淆,启用混淆器,对相关文件进行编辑,然后打包签名就可以了;
------------
在2.3的版本中,项目中有这个文件 proguard.cfg (没有的可以手动添加)
添加一句: proguard.config=proguard.cfg
proguard.cfg文件中内容:
-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-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 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 *;}
-------------------------
在4.0以后的版本,项目中的文件是project.properties和proguard-project.txt。
打开project.properties,取消下面这行代码的注释:
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
默认的设置是不带优化功能的,可以用以下设置加上代码优化功能:
#proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
-------------------------------------------------------
proguard-project.txt 文件的一些编辑规则:
-libraryjars libs/android-support-v4.jar
-libraryjars libs 加载第三方Jar包
-ignorewarnings 去除代码中的警告
-keep class com.xxx.xxx.**
-keep 保留不混淆的类
此类的公共方法保留,不混淆。
-keep class com.xx.xx.Test{
public *;
}
保护指定的类文件和类的成员
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
----------------------------------------------------
用Eclipse工具打包签名:
在Eclipse选中工程项目,右键菜单--> Android Tools
---> Export Signed Application Package...带RSA数字签名
---> Export Unsigned Application Package...不带数字签名
选择一种方式按照向导操作,生成的Apk就是混淆处理过的。
----------------------------------------
- android代码混淆笔记
- android 笔记之代码混淆
- Android应用(apk)代码混淆笔记
- [android deverlop 学习笔记]ProGuard代码混淆
- Android 代码混淆,混淆打包
- Android 代码混淆 webview混淆
- [Android]混淆Android代码
- [Android]混淆Android代码
- android开发笔记之 Android代码混淆打包
- Android代码混淆------apk文件代码混淆
- android 代码混淆proguard
- Android项目代码混淆
- android 代码混淆总结
- android 代码混淆
- android代码混淆
- 混淆Android代码
- Android代码混淆 反编译
- android 代码混淆
- python texttable表格输出
- 碎碎念20141020
- JMX监控Tomcat
- python 扩展库下载地址
- “SXMPDocOps”: 不是类或命名空间名称
- android代码混淆笔记
- performSelector: withObject传递参数用法
- 职称英语考试成绩有效期是多久
- NGUI从入门到实战(大学霸内部资料)
- IOS基础:深入理解Objective-c中@class的含义
- leetcode:Pascal's Triangle
- 【Android】实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件
- poj 2663 Tri Tiling
- 一个new失败问题的查找过程