您的位置:首页 > 移动开发 > Android开发

android混淆文件,分享一下我的混淆文件和一些参考资料

2015-11-09 14:51 387 查看
转载请标明出处: http://blog.csdn.net/zeng_zhi_1991?viewmode=list

本文出自:【曾智的博客】

分享一下我归纳的一些混淆,其中包含了大部分基本的混淆和其他一些用到的引用的混淆,再附上两个链接资料应该能解决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 代码混淆
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 混淆 umeng混淆