1、Gson混淆
## ----------------------------------
## ########## Gson混淆 ##########
## ----------------------------------
-keepattributes Signature
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.examples.android.model.** { *; }
2、greenDao混淆
# # -------------------------------------------
# # ######## greenDao混淆 ##########
# # -------------------------------------------
-libraryjars libs/greendao-1.3.7.jar
-keep class de.greenrobot.dao.** {*;}
-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties
3、volley混淆
# # -------------------------------------------
# # ############### volley混淆 ###############
# # -------------------------------------------
-keep class com.android.volley.** {*;}
-keep class com.android.volley.toolbox.** {*;}
-keep class com.android.volley.Response$* { *; }
-keep class com.android.volley.Request$* { *; }
-keep class com.android.volley.RequestQueue$* { *; }
-keep class com.android.volley.toolbox.HurlStack$* { *; }
-keep class com.android.volley.toolbox.ImageLoader$* { *; }
4、sharesdk混淆
## ----------------------------------
## sharesdk
## ----------------------------------
-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}
-dontwarn cn.sharesdk.**
5、UIL混淆
## ----------------------------------
## UIL相关
## ----------------------------------
-keep class com.nostra13.universalimageloader.** { *; }
-keepclassmembers class com.nostra13.universalimageloader.** {*;}
6、高德地图sdk混淆
## ----------------------------------
## 高德地图sdk混淆
## ----------------------------------
-libraryjars libs/android-support-v4.jar
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
-libraryjars libs/MapApiLocation.jar
-libraryjars libs/MapApiSearch.jar
-libraryjars libs/Android_Map_V2.0.4.jar
-dontwarn com.amap.api.**
-dontwarn com.a.a.**
-dontwarn com.autonavi.**
-keep class com.amap.api.** {*;}
-keep class com.autonavi.** {*;}
-keep class com.a.a.** {*;}
7、unity混淆(需要修改proguard.jar文件)
## ---------------------------------------------------------------
## unity混淆(需要修改proguard.jar文件)
## ---------------------------------------------------------------
-libraryjars f:/work_hb_v021/Lib_SocShare_v237_0804/libs/untiy-classes.jar
-dontwarn com.unity3d.player.**
-dontwarn org.fmod.**
-keep class com.unity3d.player.**{*;}
-keep class org.fmod.**{*;}
-keep public class * extends com.unity3d.player.**
-keep public class * extends org.fmod.**
注:还需要对与unity交互的相关方法或者类(jni)进行混淆配置。
8、内部类或者内部接口类的混淆配置
# # -------------------------------------------
# # ######## 内部类混淆配置 ##########
# # -------------------------------------------
-keep class com.manjay.housebox.activity.CityListActivity$*{
}
-keepclassmembers class com.manjay.housebox.activity.CityListActivity$*{*;}
-keep class com.manjay.housebox.map.MapActivity$*{
}
-keepclassmembers class com.manjay.housebox.map.MapActivity$*{*;}
9、pinyin4j
-dontwarn net.soureceforge.pinyin4j.**
-dontwarn demo.**
-libraryjars libs/pinyin4j-2.5.0.jar
-keep class net.sourceforge.pinyin4j.** { *;}
-keep class demo.** { *;}
10、volley
-libraryjars libs/volley.jar
11、async http
-libraryjars libs/android-async-http-1.4.5.jar
12、JPush
-libraryjars libs/jpush-sdk-release1.6.3.jar
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
13、EventBus
-libraryjars libs/eventbus-1.0.1.jar
-keepclassmembers class ** {
public void onEvent*(**);
}
-keepclassmembers class ** {
public void xxxxxx(**); //所有监听的方法都要列在这里
}
14、SlidingMenu
-dontwarn com.jeremyfeinstein.slidingmenu.lib.**
-keep class com.jeremyfeinstein.slidingmenu.lib.**{*;}
15、ActionBarSherlock
-dontwarn com.actionbarsherlock.**
-keep class com.actionbarsherlock.**{*;}
17、asmack-android-19-0.8.10.jar 聊天xmpp 第三方jar
-libraryjars libs/asmack-android-19-0.8.10.jar
问题:集成了Share SDK以后,混淆出现问题。
回答:混淆的时候需要在混淆脚本中keep Share SDK的包,具体的内容可以参考Sample,下面是主要的一些内容,如:
上面的脚本分别keep了Share SDK和新浪微博SSO授权方式所需要的所有jar和源码。
考虑到部分开发者会使用附带Sample中的侧栏控件,那么此时还需要keep这个控件的代码:
最后请注意,注册到AuthorizeActivity下用于自定义授权页面的类也是需要keep的,否则Share SDK将找不到它。
参考:http://blog.csdn.net/sharesdk/article/details/11778009