android学习笔记2-打包混淆配置
来源:互联网 发布:开送货单软件 编辑:程序博客网 时间:2024/05/17 07:06
在Android Studio项目中的混淆打包配置项:
项目目录下增加:proguard-rules.pro,如图:
配置文件具体类容如下:
# 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 <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 * { # 保持枚举 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.* <fields>;}-keepclasseswithmembernames class * { @butterknife.* <methods>;}#混淆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 <methods>;}#不混淆 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 { <init>(java.lang.Throwable);}#不混淆EventBus-keep class com.puyuntech.sixcontry.mode.* { *;}#mode类不混淆-keep public class com.tencent.bugly.**{*;}#
可根据项目需求增删混淆文件代码
0 0
- android学习笔记2-打包混淆配置
- Android Studio混淆打包配置
- android打包混淆-proguard配置详解
- Android 混淆打包标准proguard 配置
- android studio多渠道打包+混淆配置
- Android项目打包发布的混淆配置
- maven 学习笔记(七)-(完整Android项目多渠道打包、签名、混淆进阶)
- Android 代码混淆,混淆打包
- android开发笔记之 Android代码混淆打包
- Android 混淆打包编译
- Android 混淆打包
- android 签名、混淆打包
- Android 混淆打包
- Android混淆打包
- Android混淆打包
- Android 混淆打包
- android中混淆打包
- android proguard混淆打包
- angularjs中$resource的使用
- 多文件上传---遇到的小问题---uploadify
- 会声会影x8注册机
- ios开发之app内启动用户评价
- 学习IOS之oc第一步基础必备
- android学习笔记2-打包混淆配置
- Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
- unity3d DOTween插件学习笔记
- 查看Oracle被锁的表
- 分享 iOS
- MTK安卓sim卡相关源码分析
- Red配置文件
- Python文本处理常用代码总结(二)
- 转换器