终极的代码混淆脚本,解决所有因代码混淆无法打签名包的问题
来源:互联网 发布:删除mac账号 编辑:程序博客网 时间:2024/06/07 07:14
# Add project specific ProGuard rules here.# By default, the flags in this file are appended to flags specified# in C:\Users\jasonxiao\AppData\Local\Android\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 *;#}-keepattributes SourceFile,LineNumberTable#不压缩输入的类文件-dontshrink#指定代码的压缩级别-optimizationpasses 5#包明不混合大小写-dontusemixedcaseclassnames#不去忽略非公共的库类-dontskipnonpubliclibraryclasses#优化 不优化输入的类文件-dontoptimize#预校验-dontpreverify#混淆时是否记录日志 -verbose# 混淆时所采用的算法-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*#保护注解-keepattributes *Annotation*#忽略警告-ignorewarnings-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.app.backup.BackupAgentHelper # 保持哪些类不被混淆-keep public class * extends android.preference.Preference # 保持哪些类不被混淆-keep public class com.android.vending.licensing.ILicensingService # 保持哪些类不被混淆-keep public class com.google.vending.licensing.ILicensingService # 保持哪些类不被混淆-keepclassmembers class **.R$* { public static <fields>; public static final int *;}-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 public class * extends android.view.View { public <init>(android.content.Context); public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int); public void set*(...); }-keepclassmembers public class * extends android.view.View { void set*(***); *** get*();}#apk 包内所有 class 的内部结构#-dump class_files.txt#未混淆的类和成员#-printseeds seeds.txt#列出从 apk 中删除的代码#-printusage unused.txt#混淆前后的映射#-printmapping mapping.txt#fastjson 可以混淆也可以不混淆#-keep class javax.ws.rs.** { *; }#-dontwarn com.alibaba.fastjson.**#-keep class com.alibaba.fastjson.** { *; }-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(); public <fields>;}-keepattributes Signature#gson-dontwarn com.google.gson.**-keep class com.google.gson.** { *;}-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(); public <fields>;}#v4-dontwarn android.support.v4.**-keep class android.support.v4.** { *; }-keep interface android.support.v4.app.** { *; }-keep public class * extends android.support.v4.**-keep public class * extends android.app.Fragment#greendao#-dontwarn de.greenrobot.dao.**#-keep class de.greenrobot.dao.** { *;}-keepclassmembers class * extends de.greenrobot.dao.AbstractDao { public static java.lang.String TABLENAME;}-keep class **$Properties
0 0
- 终极的代码混淆脚本,解决所有因代码混淆无法打签名包的问题
- Android应用程序的代码混淆和签名
- 请问混淆代码的问题!
- 解决android导入多个第三方jar包后项目代码混淆的问题
- 解决android导入多个第三方jar包后项目代码混淆的问题 .
- 混淆你的代码
- APK的代码混淆
- android代码的混淆
- 常用的混淆代码
- Android Studio 打混淆包遇到的问题
- Android 混淆代码的时候出现问题
- 代码混淆后可能出现的问题
- Eclipse+ADT进行Android应用程序的代码混淆和签名
- Eclipse+ADT进行Android应用程序的代码混淆和签名
- Eclipse+ADT进行Android应用程序的代码混淆和签名
- 安卓代码混淆和签名的说明
- android 代码混淆(fastjson导致签名失败的处理办法)
- apk签名及代码混淆
- 网页正文提取方案
- 学习JavaScript必知的一些基础知识
- Spark+Hadoop+Mahout大数据系列
- 深度学习:Pre-Training的理解
- Leet Code OJ 70. Climbing Stairs(爬楼梯问题)
- 终极的代码混淆脚本,解决所有因代码混淆无法打签名包的问题
- 开发一个程序基本思路
- 机器学习实战-kNN
- spring AOP简单理解
- 数据库的原理
- 类找不到总结java.lang.ClassNotFoundException
- Linux下高并发socket最大连接数所受的各种限制
- PLSQL Show Ojbect Dependence
- torch中cmul()函数的用法总结