android混淆文件,分享一下我的混淆文件和一些参考资料
2015-11-09 14:51
387 查看
转载请标明出处: http://blog.csdn.net/zeng_zhi_1991?viewmode=list
本文出自:【曾智的博客】
分享一下我归纳的一些混淆,其中包含了大部分基本的混淆和其他一些用到的引用的混淆,再附上两个链接资料应该能解决90%以上的问题了
Android 混淆代码总结
android 代码混淆
本文出自:【曾智的博客】
分享一下我归纳的一些混淆,其中包含了大部分基本的混淆和其他一些用到的引用的混淆,再附上两个链接资料应该能解决90%以上的问题了
# To enable ProGuard in your project, edit project.properties # to define the proguard.config property as described in that file. # # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in ${sdk.dir}/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the ProGuard # include property in project.properties. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} # # ----------------------------------------- # # ############### 其他混淆 ############### # # ----------------------------------------- -dontwarn org.apache.** -keep class org.apache.** { *;} # # ------------------------------------------- # # ############### 基础混淆 ############### # # ------------------------------------------- #指定代码的压缩级别 -optimizationpasses 5 #混淆时不会产生形形色色的类名 ,是否使用大小写混合 -dontusemixedcaseclassnames #指定不去忽略非公共的库类,是否混淆第三方jar -dontskipnonpubliclibraryclasses #指定不去忽略包可见的库类的成员 -dontskipnonpubliclibraryclassmembers #不预校验 -dontpreverify #混淆时是否记录日志 -verbose #不压缩输入的类文件 -dontshrink #不优化输入的类文件 -dontoptimize #不混淆输入的类文件 -dontobfuscate #下面这行代码是 忽略警告,避免打包时某些警告出现 -ignorewarnings #混淆时所采用的算法 -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* #哪些类不进行混淆保持原样,保持哪些类不被混淆 -keep public class * extends android.app.Activity -keep public class * extends android.app.Fragment -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.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService #保护指定的类和类的成员的名称,如果所有指定的类成员出席,在压缩步骤之后,保持 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); } #保护指定类的成员,如果此类受到保护他们会保护的更好 ,保持自定义控件类不被混淆 -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 *; } #所有方法不进行混淆 -keep public abstract interface com.asqw.android.Listener{ public protected <methods>; } #对该方法不进行混淆 -keep public class com.asqw.android{ public void Start(java.lang.String); } # # ------------------------------------------------------- # # ############### android-support-v4混淆 ############### # # ------------------------------------------------------- -libraryjars libs/android-support-v4.jar -dontwarn android.support.** -keep class android.support.v4.** { *; } -keep public class * extends android.support.v4.** ############### gson ############### -keep class com.google.gson.stream.** { *; } -keep class com.google.gson.examples.android.model.** { *; } # # -------------------------------------------- # # ############### 百度 ############### # # -------------------------------------------- -dontwarn com.baidu.** -keep class com.baidu.** { *;} -keepattributes *Annotation* -keepattributes *JavascriptInterface* ############### 讯飞云xf_yun ############### -keep class com.iflytek.**{*;} ############### wx_pay ############### -keep class com.tencent.mm.sdk.** { *; } # # ------------------------------------------------ # # ############### 网银在线支付混淆 ############### # # ------------------------------------------------ -dontwarn com.unionpay.** -keep class com.unionpay.** { *;} -keep public class com.unionpay.uppay.net.HttpConnection { public <methods>; } -keep public class com.unionpay.uppay.net.HttpParameters { public <methods>; } -keep public class com.unionpay.uppay.model.BankCardInfo { public <methods>; } -keep public class com.unionpay.uppay.model.PAAInfo { public <methods>; } -keep public class com.unionpay.uppay.model.ResponseInfo { public <methods>; } -keep public class com.unionpay.uppay.model.PurchaseInfo { public <methods>; } -keep public class com.unionpay.uppay.util.DeviceInfo { public <methods>; } -keep public class java.util.HashMap { public <methods>; } -keep public class java.lang.String { public <methods>; } -keep public class java.util.List { public <methods>; } -keep public class com.unionpay.uppay.util.PayEngine { public <methods>; native <methods>; } # # ------------------------------------------------ # # ############### Umeng ############### # # ------------------------------------------------ -dontshrink -dontoptimize -dontwarn com.google.android.maps.** -dontwarn android.webkit.WebView -dontwarn com.umeng.** -dontwarn com.tencent.weibo.sdk.** -dontwarn com.facebook.** -keep enum com.facebook.** -keepattributes Exceptions,InnerClasses,Signature -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable -keep public interface com.facebook.** -keep public interface com.tencent.** -keep public interface com.umeng.socialize.** -keep public interface com.umeng.socialize.sensor.** -keep public interface com.umeng.scrshot.** -keep public class com.umeng.socialize.* {*;} -keep public class javax.** -keep public class android.webkit.** -keep class com.facebook.** -keep class com.umeng.scrshot.** -keep public class com.tencent.** {*;} -keep class com.umeng.socialize.sensor.** -keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;} -keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;} -keep class im.yixin.sdk.api.YXMessage {*;} -keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;} -keep public class [com.zztests].R$*{ public static final int *; } -keepclassmembers class * { public <init>(org.json.JSONObject); } -keep public class com.umeng.fb.ui.ThreadView { } # 以下类过滤不混淆 -keep public class * extends com.umeng.** # 以下包不进行过滤 -keep class com.umeng.** { *; } -keep class com.umeng.analytics.** { *; } -keep class com.umeng.common.** { *; } -keep class com.umeng.newxp.** { *; }
Android 混淆代码总结
android 代码混淆
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories