Android项目:proguard混淆之常见开源项目混淆配置

来源:互联网 发布:域名怎么解析动态ip 编辑:程序博客网 时间:2024/06/05 10:13

转自:http://glblong.blog.51cto.com/3058613/1435959


1.Gson混淆

1
2
3
4
5
6
## ----------------------------------
##   ########## Gson混淆    ##########
## ----------------------------------
-keepattributes Signature 
-keep class sun.misc.Unsafe { *; } 
-keep class com.google.gson.examples.android.model.** { *; }


2.greenDao混淆

1
2
3
4
5
6
7
8
# # -------------------------------------------
# #  ######## greenDao混淆  ##########  
# # -------------------------------------------
-keep class com.manjay.housebox.greendao.** {*;}       
-keepclassmembers class extends de.greenrobot.dao.AbstractDao {
    public static java.lang.String TABLENAME;
}
-keep class **$Properties


3.volley混淆 

1
2
3
4
5
6
7
8
9
10
# # -------------------------------------------
# #  ############### 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混淆

1
2
3
4
5
6
7
8
9
## ----------------------------------
##      sharesdk
## ----------------------------------
-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}
-keep class **.R$* {*;}
-keep class **.R{*;}
-dontwarn cn.sharesdk.**
-dontwarn **.R$*


5.UIL混淆

1
2
3
4
5
## ----------------------------------
##      UIL相关
## ----------------------------------
-keep class com.nostra13.universalimageloader.** { *; }
-keepclassmembers class com.nostra13.universalimageloader.** {*;}


6.高德地图sdk混淆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
## ----------------------------------
##      高德地图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文件)

1
2
3
4
5
6
7
8
9
10
## ---------------------------------------------------------------
##      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.内部类或者内部接口类的混淆配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# # -------------------------------------------
# #  ######## 内部类混淆配置  ##########  
# # -------------------------------------------
-keep class com.manjay.housebox.activity.CityListActivity$*{
        <fields>;
        <methods>;
}
-keepclassmembers class com.manjay.housebox.activity.CityListActivity$*{*;}
 
-keep class com.manjay.housebox.map.MapActivity$*{
        <fields>;
        <methods>;
}
-keepclassmembers class com.manjay.housebox.map.MapActivity$*{*;}


参考资料:

1.Android项目:proguard混淆之常见开源项目混淆配置

2.Android项目:proguard混淆之常见问题及解决方法汇总

3.Android项目:自构框架、SDK包或者jar文件库的混淆及常见问题解决方法




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.**{*;}

0 0