在Android Studio项目中的混淆打包配置项:

项目目录下增加:proguard-rules.pro,如图:

android学习笔记2-打包混淆配置_第1张图片

配置文件具体类容如下:

# Add project specific ProGuard rules here.# By default, the flags in this file are appended to flags specified# in E:\Android\adt-bundle-windows-x86_64-20140321\adt-bundle-windows-x86_64-20140321\sdk/tools/proguard/proguard-android.txt# You can edit the include path and order by changing the proguardFiles# directive in build.gradle.## 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 *;#}-optimizationpasses 7          # 指定代码的压缩级别-dontusemixedcaseclassnames   # 是否使用大小写混合-dontpreverify           # 混淆时是否做预校验-verbose                # 混淆时是否记录日志-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  # 混淆时所采用的算法-keep public class * extends android.app.Activity      # 保持哪些类不被混淆-keep public class * extends android.app.Activity      # 保持哪些类不被混淆-keep public class * extends android.app.FragmentActivity   # 保持哪些类不被混淆-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    # 保持哪些类不被混淆-keepclasseswithmembernames class * {  # 保持 native 方法不被混淆    native ;}-keepclasseswithmembers class * {   # 保持自定义控件类不被混淆    public (android.content.Context, android.util.AttributeSet);}-keepclasseswithmembers class * {# 保持自定义控件类不被混淆    public (android.content.Context, android.util.AttributeSet, int);}-keepclassmembers class * extends android.app.Activity { # 保持自定义控件类不被混淆    public void *(android.view.View);}-keepclassmembers enum * {     # 保持枚举 enum 类不被混淆    public static **[] values();    public static ** valueOf(java.lang.String);}-keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆    public static final android.os.Parcelable$Creator *;}#混淆butterknife-keep class butterknife.** { *; }-dontwarn butterknife.internal.**-keep class **$$ViewBinder { *; }-keepclasseswithmembernames class * {    @butterknife.* ;}-keepclasseswithmembernames class * {    @butterknife.* ;}#混淆butterknife#不混淆sharesdk-keep class cn.sharesdk.**{*;}-keep class com.sina.**{*;}-keep class **.R$* {*;}-keep class **.R{*;}-keep class com.mob.**{*;}-dontwarn com.mob.**-dontwarn cn.sharesdk.**-dontwarn **.R$*#不混淆sharesdk#不混淆alipay-keep class com.alipay.android.app.IAlixPay{*;}-keep class com.alipay.android.app.IAlixPay$Stub{*;}-keep class com.alipay.android.app.IRemoteServiceCallback{*;}-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}-keep class com.alipay.sdk.app.PayTask{ public *;}-keep class com.alipay.sdk.app.AuthTask{ public *;}-keep class com.alipay.mobilesecuritysdk.*-keep class com.alipay.apmobilesecuritysdk.*-dontwarn com.alipay.apmobilesecuritysdk.**-keep class com.ut.*#不混淆alipay#不混淆demo-dontwarn demo.**-keep class demo.** { *;}#不混淆demo#不混淆百度-keep class com.baidu.** {*;}-keep class vi.com.** {*;}-dontwarn com.baidu.**#不混淆百度#不混淆 com.squareup.picasso-keepattributes SourceFile,LineNumberTable-keep class com.parse.*{ *; }-dontwarn com.parse.**-dontwarn com.squareup.picasso.**-keepclasseswithmembernames class * {    native ;}#不混淆 com.squareup.picasso#不混淆okio-dontwarn com.squareup.okhttp.**-keep class com.squareup.okhttp.** { *;}-dontwarn okio.**#不混淆okio#不混淆jackson-dontwarn org.codehaus.jackson.**-keep class org.codehaus.jackson.** {*; }-keep interface org.codehaus.jackson.** { *; }-keep public class * extends org.codehaus.jackson.**-keep class com.fasterxml.jackson.** { *; }-dontwarn com.fasterxml.jackson.databind.**#Warning:com.fasterxml.jackson.databind.ext.DOMSerializer: can't find referenced class org.w3c.dom.bootstrap.DOMImplementationRegistry#不混淆jackson#不混淆EventBus#-keepclassmembers class ** {#    public void onEvent*(**);#}-keep class de.greenrobot.event.** {*;}-keepclassmembers class ** {    public void onEvent*(**);}-keepclassmembers class ** {    void onEvent*(**);}-keepclassmembers class ** {    public void onEvent(int); #【对该方法不进行混淆】}# Only required if you use AsyncExecutor-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {    (java.lang.Throwable);}#不混淆EventBus-keep class com.puyuntech.sixcontry.mode.* { *;}#mode类不混淆-keep public class com.tencent.bugly.**{*;}#


可根据项目需求增删混淆文件代码


更多相关文章

  1. Android ui 控件之仿苹果SWITCH
  2. android代码实现免提功能
  3. CentOS 下载 Android 源代码。
  4. 使 Android 项目支持 Java 8 lambdas 表达式
  5. Android 常用的控件
  6. Android代码总结,Sdcard和图片相关

随机推荐

  1. Java super关键字(android中常见)
  2. Android(安卓)OpenGL ES 分析与实践
  3. Android(安卓)下载apk提示更新以及解决An
  4. android单元测试
  5. Spring for android实现客户端与服务器的
  6. android中的主题(theme)的定义
  7. LBE 安全大师支持android 4.4注入分析
  8. Android中listview中的button
  9. Android分辨率自适应
  10. ionic打包apk时报错No resource identifi