[Android] 代码混淆

来源:互联网 发布:nginx 只允许指定url 编辑:程序博客网 时间:2024/04/30 07:04

转自:http://blog.csdn.net/s278777851/article/details/8956108

准备:新建的android 项目里面会有project.properties 和 proguard-project文件, 若找不到就去其他项目复制

步骤:

1. 在sdk的目录${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt, 找到 proguard-android.txt 和 proguard-project.txt两个文件, 复制到项目根目录。

2.修改 project.properties文件,在尾部添加 proguard.config=proguard-project.txt:proguard-android-optimize.txt

3. 导出带签名的apk包即可。

注:1.如项目有使用gson 包,需修改proguard-android.txt 文件, 在尾部添加

[java] view plaincopy
  1. ##---------------Begin: proguard configuration for Gson  ----------
  2. # Gson uses generic type information stored in a class file when working with fields. Proguard
  3. # removes such information by default, so configure it to keep all of it.
  4. -keepattributes Signature


  5. # Gson specific classes
  6. -keep class sun.misc.Unsafe { *; }
  7. #-keep class com.google.gson.stream.** { *; }


  8. # Application classes that will be serialized/deserialized over Gson
  9. -keep class com.google.gson.examples.android.model.** { *; }
  10.   
  11. ##---------------End: proguard configuration for Gson  ----------

2. 如有hashmap或arraylist 和自定义bean的使用,hashmap或 arrayList 莫名其妙长度为0,修改proguard-android.txt文件,使其不编译改bean类,如下

[html] view plaincopy
  1. -keep public class com.xxx.util.model.AppInfo {
  2.     *;
  3. }
0 0
原创粉丝点击