很多种做法


我的做法是:

项目中有,proguard.cfg和project.properties文件

在project.properties文件中加入一句,proguard.config=proguard.cfg

意思为混淆规则指向proguard.cfg这个文件,然后再这个文件下添加一些规则


对于第三方的jar文件

例:


-libraryjars   libs/android-support-v4.jar

## support-v4

-dontwarn android.support.v4.**    

-keep class android.support.v4.** { *; }  


其他的jar包类似操作,


GSon的处理:

## gson

-dontwarn com.google.gson.**

-keep class sun.misc.Unsafe { *; }

-keep class com.google.gson.** { *; }

-keep class com.google.gson.JsonObject { *; }

-keep class com.google.gson.examples.android.model.** { *; }


要加入这一句

-keepattributes Signature


我是用gson解析的所以相对应的数据类的属性名字就不能混淆了

我是implements Serializable


然后再添加:


-keepclassmembers class * implements java.io.Serializable {

   static final long serialVersionUID;

   private static final java.io.ObjectStreamField[] serialPersistentFields;

   private void writeObject(java.io.ObjectOutputStream);

   private void readObject(java.io.ObjectInputStream);

   java.lang.Object writeReplace();

   java.lang.Object readResolve();

}


-keep public class * implements java.io.Serializable {*;}


一些用到JNI的类也不能混淆,


更多相关文章

  1. HAL层,.sensors.h 头文件分析
  2. framework
  3. Android(安卓)Studio与Eclipse SDK无法更新解决方案
  4. Android学习--《数据的保存》
  5. apk反编译和再编译
  6. Android--打包工具,100个渠道包只需要10秒钟
  7. Android(安卓)面试之常用开源库
  8. Android仿微信图片选择器(二)
  9. Cordova 3.x 源码分析(7) -- CordovaLib概要

随机推荐

  1. ChkBugReport工具 for Android 1
  2. Android之SharedPreferences简介及使用说
  3. 设置Android SDK tools工作路径环境变量
  4. [Android Samples视频系列之ApiDemos] Ap
  5. -Android各版本系统源代码下载
  6. android Http通信(访问web server)
  7. android开发常见问题
  8. 浅析:Android WebView 常见的九个问题
  9. Android中开源库EventBus使用详解
  10. Android(安卓)消息队列模型详解及实例