As混淆详解
来源:互联网 发布:lms数据采集系统 编辑:程序博客网 时间:2024/06/05 02:34
#忽略警告,避免打包时某些警告出现-ignorewarnings#指定压缩级别-optimizationpasses 5#包名不混合大小写-dontusemixedcaseclassnames#不跳过非公共的库的类-dontskipnonpubliclibraryclasses-dontskipnonpubliclibraryclassmembers#不优化输入的类文件-dontoptimize#关闭预校验-dontpreverify#混淆时记录日志-verbose-printmapping proguardMapping.txt#混淆时采用的算法-optimizations !code/simplification/cast,!field/*,!class/merging/*#保护注解-keepattributes *Annotation*,InnerClasses-keepattributes Signature#保留行号-keepattributes SourceFile,LineNumberTable#keep相关注解-keep class android.support.annotation.Keep-keep @android.support.annotation.Keep class * {*;}-keepclasseswithmembers class * { @android.support.annotation.Keep <methods>;}-keepclasseswithmembers class * { @android.support.annotation.Keep <fields>;}-keepclasseswithmembers class * { @android.support.annotation.Keep <init>(...);}-keep public class * extends android.app.Activity-keep public class * extends android.app.Appliction-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 * extends android.view.View-keep public class com.android.vending.licensing.ILicensingService-keep class android.support.** {*;}#保持所有拥有本地方法的类名及本地方法名-keepclasseswithmembernames class * { native <methods>;}#保持Activity中View及其子类入参的方法-keepclassmembers class * extends android.app.Activity{ public void *(android.view.View);}#枚举-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String);}#保持自定义View的get和set相关方法-keep public class * extends android.view.View{ *** get*(); void set*(***); public <init>(android.content.Context); public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int);}-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int);}#Parcelable-keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *;}#Fragment不需要在AndroidManifest.xml中注册,需要额外保护下-keep public class * extends android.support.v4.app.Fragment-keep public class * extends android.app.Fragment#保持所有实现Serializable接口的类成员-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 **.R$* { *;}-keepclassmembers class * { void *(**On*Event);}#webview-keepclassmembers class fqcn.of.javascript.interface.for.webview { public *;}-keepclassmembers class * extends android.webkit.webViewClient { public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap); public boolean *(android.webkit.WebView, java.lang.String);}-keepclassmembers class * extends android.webkit.webViewClient { public void *(android.webkit.webView, jav.lang.String);}
-ignorewarnings # 忽略警告,避免打包时某些警告出现-optimizationpasses 5 # 指定代码的压缩级别-dontusemixedcaseclassnames # 是否使用大小写混合-dontskipnonpubliclibraryclasses # 是否混淆第三方jar-dontpreverify # 混淆时是否做预校验-verbose # 混淆时是否记录日志-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法 -libraryjars libs/treecore.jar -dontwarn android.support.v4.** #缺省proguard 会检查每一个引用是否正确,但是第三方库里面往往有些不会用到的类,没有正确引用。如果不配置的话,系统就会报错。-dontwarn android.os.**-keep class android.support.v4.** { *; } # 保持哪些类不被混淆-keep class com.baidu.** { *; } -keep class vi.com.gdi.bgl.android.**{*;}-keep class android.os.**{*;} -keep interface android.support.v4.app.** { *; } -keep public class * extends android.support.v4.** -keep public class * extends android.app.Fragment -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.BroadcastReceiver-keep public class * extends android.content.ContentProvider-keep public class * extends android.support.v4.widget-keep public class * extends com.sqlcrypt.database-keep public class * extends com.sqlcrypt.database.sqlite-keep public class * extends com.treecore.**-keep public class * extends de.greenrobot.dao.** -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 *;} -keep class MyClass; # 保持自己定义的类不被混淆
阅读全文
0 0
- As混淆详解
- As混淆详解
- AS 代码混淆+res混淆
- AS 代码混淆实战
- AS混淆代码
- as代码混淆
- AS代码混淆
- AS混淆之transformClassesAndResourcesWithProguardForRelease
- AS下项目混淆打包
- 记录AS混淆代码模板
- androd as代码混淆模板
- AS混淆基本配置解释及语法
- eclipse迁移as 混淆打包出错
- 关于AS混淆,签名打包参考
- AS混淆打包和多渠道打包总结
- AS配置文件+gradle配置+混淆配置
- AS多渠道打包和代码混淆
- 技术共享之AS代码混淆
- 微信注册筛选技术 快速微信开通过滤器
- 一台服务器安装多个zookeeper服务
- C++动态绑定
- 如何计算padding大小
- DelegatingFilterProxy 作用
- As混淆详解
- Mybatis中resultType个别字段获取数据为null
- js 动态追加一个option并设置为已选择
- 登录密码,眼睛效果,点击显示,点击隐藏
- 定位与唤醒沉睡用户
- 关于javax.mail.AuthenticationFailedException异常的问题
- Ubuntu16.04 编译安装 codeblock16.01
- 水文首篇
- 最优贸易