android 混淆 gson

很多種做法


我的做法是:

項目中有,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的類也不能混淆,


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章