android 代码混淆示例
生活随笔
收集整理的這篇文章主要介紹了
android 代码混淆示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考其它資料為項目代碼做了一下混淆
項目中使用了?slidingmenu ??actionbarsherlock ??fastjson ?volley ? httpclient 等第三方庫,
并使用了 ?webview + js , ?有微信和微博分享功能。?
# 指定代碼的壓縮級別 -optimizationpasses 5 -dontusemixedcaseclassnames # 是否混淆第三方jar -dontskipnonpubliclibraryclasses -dontpreverify -keepattributes SourceFile,LineNumberTable -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -libraryjars libs/httpmime-4.1.3.jar -libraryjars libs/libammsdk.jar -libraryjars libs/fastjson-1.1.34.android.jar -libraryjars libs/commons-lang.jar -libraryjars libs/weibosdkcore.jar# webview + js # keep 使用 webview 的類 -keepclassmembers class com.goldnet.mobile.activity.InfoDetailActivity {public *; } # keep 使用 webview 的類的所有的內部類 -keepclassmembers class com.goldnet.mobile.activity.InfoDetailActivity$*{*; }# 保持哪些類不被混淆 -keep class android.** {*; } -keep public class * extends android.view -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.pm -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService #ACRA specifics # we need line numbers in our stack traces otherwise they are pretty useless -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable# ACRA needs "annotations" so add this... -keepattributes *Annotation*# 保持 native 方法不被混淆 -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); }-keepclasseswithmembers class * {void onClick*(...); } -keepclasseswithmembers class * {*** *Callback(...); }# keep setters in Views so that animations can still work. # see http://proguard.sourceforge.net/manual/examples.html#beans -keepclassmembers public class * extends android.view.View {void set*(***);*** get*(); }# 保持自定義控件類不被混淆 -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); }# 保持枚舉 enum 類不被混淆 -keepclassmembers enum * { public static **[] values();public static ** valueOf(java.lang.String); }# 保持 Parcelable 不被混淆 -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; }-keepclassmembers class **.R$* {public static <fields>; }# http client -keep class org.apache.http.** {*; }# 微信 -keep class com.tencent.mm.sdk.openapi.WXMediaMessage {*;} -keep class com.tencent.mm.sdk.openapi.** implements com.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {*;}# fastjson -keep class com.alibaba.fastjson.**{*;} # keep 所有的 javabean -keep class com.goldnet.mobile.entity.**{*;} # keep 泛型 -keepattributes Signature#-keep public class * implements java.io.Serializable { # public *; #} #-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 class org.apache.commons.lang.**{*;}# 新浪微博 -keep class com.sina.**{*;}####### # 其它第三方庫 ####### -dontwarn org.bouncycastle.** -keep class org.bouncycastle.**{*;}-dontwarn android-async-http-1.4.4.jar.** -keep class android-async-http-1.4.4.jar.**{*;}-dontwarn Decoder.** -keep class Decoder.**{*;}# volley -dontwarn com.android.volley.jar.** -keep class com.android.volley.**{*;}# actionbarsherlock -dontwarn com.actionbarsherlock.** -keep class com.actionbarsherlock.**{*;}# slidingmenu -dontwarn com.jeremyfeinstein.slidingmenu.lib.** -keep class com.jeremyfeinstein.slidingmenu.lib.**{*;}-dontwarn com.cairh.app.sjkh.** -keep class com.cairh.app.sjkh.**{*;}?
轉載于:https://www.cnblogs.com/lesliefang/p/3819259.html
總結
以上是生活随笔為你收集整理的android 代码混淆示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webView的属性
- 下一篇: http://jsbeautifier.