天天看点

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

1.Gson混淆

1

2

3

4

5

6

<code>## ----------------------------------</code>

<code>##   ########## Gson混淆    ##########</code>

<code>-keepattributes Signature </code>

<code>-keep </code><code>class</code> <code>sun.misc.Unsafe { *; } </code>

<code>-keep </code><code>class</code> <code>com.google.gson.examples.android.model.** { *; }</code>

2.greenDao混淆

7

8

<code># # -------------------------------------------</code>

<code># #  ######## greenDao混淆  ##########  </code>

<code>-keep </code><code>class</code> <code>com.manjay.housebox.greendao.** {*;}       </code>

<code>-keepclassmembers </code><code>class</code> <code>* </code><code>extends</code> <code>de.greenrobot.dao.AbstractDao {</code>

<code>    </code><code>public</code> <code>static</code> <code>java.lang.String TABLENAME;</code>

<code>}</code>

<code>-keep </code><code>class</code> <code>**$Properties</code>

3.volley混淆 

9

10

<code># #  ############### volley混淆  ###############  </code>

<code>-keep </code><code>class</code> <code>com.android.volley.** {*;}</code>

<code>-keep </code><code>class</code> <code>com.android.volley.toolbox.** {*;}</code>

<code>-keep </code><code>class</code> <code>com.android.volley.Response$* { *; }</code>

<code>-keep </code><code>class</code> <code>com.android.volley.Request$* { *; }</code>

<code>-keep </code><code>class</code> <code>com.android.volley.RequestQueue$* { *; }</code>

<code>-keep </code><code>class</code> <code>com.android.volley.toolbox.HurlStack$* { *; }</code>

<code>-keep </code><code>class</code> <code>com.android.volley.toolbox.ImageLoader$* { *; }</code>

4.sharesdk混淆

<code>##      sharesdk</code>

<code>-keep </code><code>class</code> <code>cn.sharesdk.**{*;}</code>

<code>-keep </code><code>class</code> <code>com.sina.**{*;}</code>

<code>-keep </code><code>class</code> <code>**.R$* {*;}</code>

<code>-keep </code><code>class</code> <code>**.R{*;}</code>

<code>-dontwarn cn.sharesdk.**</code>

<code>-dontwarn **.R$*</code>

5.UIL混淆

<code>##      UIL相关</code>

<code>-keep </code><code>class</code> <code>com.nostra13.universalimageloader.** { *; }</code>

<code>-keepclassmembers </code><code>class</code> <code>com.nostra13.universalimageloader.** {*;}</code>

6.高德地图sdk混淆

11

12

13

14

15

16

17

18

19

20

21

<code>##      高德地图sdk混淆</code>

<code>-libraryjars   libs/android-support-v4.jar</code>

<code>-dontwarn android.support.v4.**    </code>

<code>-keep </code><code>class</code> <code>android.support.v4.** { *; }  </code>

<code>-keep </code><code>interface</code> <code>android.support.v4.app.** { *; }  </code>

<code>-keep </code><code>public</code> <code>class</code> <code>* </code><code>extends</code> <code>android.support.v4.**  </code>

<code>-keep </code><code>public</code> <code>class</code> <code>* </code><code>extends</code> <code>android.app.Fragment</code>

<code>-libraryjars   libs/MapApiLocation.jar</code>

<code>-libraryjars   libs/MapApiSearch.jar</code>

<code>-libraryjars   libs/Android_Map_V2.</code><code>0.4</code><code>.jar</code>

<code>-dontwarn com.amap.api.**   </code>

<code>-dontwarn com.a.a.**   </code>

<code>-dontwarn com.autonavi.**   </code>

<code>-keep </code><code>class</code> <code>com.amap.api.**  {*;}      </code>

<code>-keep </code><code>class</code> <code>com.autonavi.**  {*;}</code>

<code>-keep </code><code>class</code> <code>com.a.a.**  {*;}</code>

7.unity混淆(需要修改proguard.jar文件)

<code>## ---------------------------------------------------------------</code>

<code>##      unity混淆(需要修改proguard.jar文件)</code>

<code>-libraryjars f:/work_hb_v021/Lib_SocShare_v237_0804/libs/untiy-classes.jar</code>

<code>-dontwarn com.unity3d.player.**    </code>

<code>-dontwarn org.fmod.**   </code>

<code>-keep </code><code>class</code> <code>com.unity3d.player.**{*;}  </code>

<code>-keep </code><code>class</code> <code>org.fmod.**{*;}  </code>

<code>-keep </code><code>public</code> <code>class</code> <code>* </code><code>extends</code> <code>com.unity3d.player.**</code>

<code>-keep </code><code>public</code> <code>class</code> <code>* </code><code>extends</code> <code>org.fmod.**</code>

注:还需要对与unity交互的相关方法或者类(jni)进行混淆配置。

8.内部类或者内部接口类的混淆配置

<code># #  ######## 内部类混淆配置  ##########  </code>

<code>-keep </code><code>class</code> <code>com.manjay.housebox.activity.CityListActivity$*{</code>

<code>        </code><code>&lt;fields&gt;;</code>

<code>        </code><code>&lt;methods&gt;;</code>

<code>-keepclassmembers </code><code>class</code> <code>com.manjay.housebox.activity.CityListActivity$*{*;}</code>

<code>-keep </code><code>class</code> <code>com.manjay.housebox.map.MapActivity$*{</code>

<code>-keepclassmembers </code><code>class</code> <code>com.manjay.housebox.map.MapActivity$*{*;}</code>

本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1435959,如需转载请自行联系原作者