android 常用第三方包的代碼混淆

來源:互聯網
上載者:User

標籤:

首先在:project.properties 檔案下,啟動代碼混淆

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 將這行注釋取消。

修改proguard-project.txt 代碼混淆檔案。

//1)注意忽視警告

-ignorewarnings
-dontwarn

//2)注意的是,使用到反射的類,需要keep

-keepattributes Signature
-keepattributes *Annotation*

//3)libs 下jar,全部用-libraryjars libs/添加進檔案

//4)armeabi、armeabi-v7a下的so,通過-libraryjars libs/armeabi/,-libraryjars libs/armeabi-v7a/ 添加進檔案

## ----------------------------------
## ########## 個推混淆 ##########
## ----------------------------------

-dontwarn com.igexin.**
-keep class com.igexin.** {*;}

 

## ----------------------------------
## ########## Gson混淆 ##########
## ----------------------------------
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.examples.android.model.** { *; }

 

## ----------------------------------
## sharesdk
## ----------------------------------

-keepattributes InnerClasses,LineNumberTable
-keep class android.net.http.SslError
-keep class android.webkit.**{*;}
-keep class cn.sharesdk.**{*;}
-keep class cn.smssdk.**{*;}
-keep class com.mob.**{*;}

 

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

 

# # -------------------------------------------
# # ############### slidingmenu混淆 ############### 
# # -------------------------------------------

-dontwarn com.jeremyfeinstein.slidingmenu.lib.**
-keep class com.jeremyfeinstein.slidingmenu.lib.**{*;}

 

# # -------------------------------------------
# # ############### baidu混淆 ############### 
# # -------------------------------------------

-keep class com.baidu.mapapi.** {*; }
-keep class com.baidu.platform.** {*; }
-keep class com.baidu.location.** {*; }
-keep class com.baidu.vi.** {*; }
-keep class vi.com.gdi.bgl.android.** {*; }

 

# universal-image-loader 混淆

-dontwarn com.nostra13.universalimageloader.**
-keep class com.nostra13.universalimageloader.** { *; }

 

-libraryjars libs/android-support-v4.jar
# # -------------------------------------------
# # ############### android-support-v4混淆 ############### 
# # -------------------------------------------
-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

 

# # -------------------------------------------
# # ############### androidannotations混淆 ############### 
# # -------------------------------------------

-dontwarn org.springframework.**

 

# # -------------------------------------------
# # ############### 系統api等常規混淆 ############### 
# # -------------------------------------------

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference

 

-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();
}

-keepclasseswithmembernames class * {
native <methods>;
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}

-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}

-keep class * implements android.os.Serializable {
*;
}

-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}

-keep class **.R$* {
*;
}

android 常用第三方包的代碼混淆

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.