android 通用混淆配置(近期)
16lz
2021-01-25
Android通用混淆配置
#指定压缩级别-optimizationpasses 5#不跳过非公共的库的类成员-dontskipnonpubliclibraryclassmembers#混淆时采用的算法-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*#把混淆类中的方法名也混淆了-useuniqueclassmembernames#优化时允许访问并修改有修饰符的类和类的成员 -allowaccessmodification#将文件来源重命名为“SourceFile”字符串-renamesourcefileattribute SourceFile#保留行号-keepattributes SourceFile,LineNumberTable#保持泛型-keepattributes Signature#保持所有实现 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();}#Fragment不需要在AndroidManifest.xml中注册,需要额外保护下-keep public class * extends android.support.v4.app.Fragment-keep public class * extends android.app.Fragment# 保持测试相关的代码-dontnote junit.framework.**-dontnote junit.runner.**-dontwarn android.test.**-dontwarn android.support.test.**-dontwarn org.junit.**
其他常见配置
# Gson specific classes-keep class sun.misc.Unsafe { *; }#-keep class com.google.gson.stream.** { *; }#实体类不混淆(自己项目实体类不被混淆,因为Gson中用到了反射)-keep public class **.*model*.** {*;} ##这里需要根据项目结构指定bean目录#常用类配置-dontwarn org.codehaus.**-dontwarn java.nio.**-dontwarn java.lang.invoke.**#android 网络-dontwarn android.net.**-keep class android.net.SSLCertificateSocketFactory{*;}
其他:
https://www.jianshu.com/p/c02049ed035d
更多相关文章
- Android(安卓)Audio代码分析20 - queryEffects函数
- Kotlin Android(安卓)WebView与H5的相互调用
- Android(安卓)resource linking failed AAPT: error: not well-f
- Android(安卓)混淆配置文件及常用第三方混淆
- Android使用ksoap2连接webserver(JAX-WS)访问数据库
- android中Bitmap对象怎么保存为文件?
- Android(安卓)JVM的运行过程
- android 常用混淆
- Android(安卓)UI基础教程【3】 基于service的TimerTracker