包混淆(119条消息) 关于混淆,你需要知道的全部_Summer-夏天的博客-CSDN博客_optimizationpasses
//保持该包下的类名,而子包下的类名还是会被混淆
-keep class cn.hadcn.test.*
//本包和所含子包下的类名都保持
-keep class cn.hadcn.test.**
//既想保持类名,又想保持里面的内容不被混淆
-keep class cn.hadcn.test.** {*;}
//保护特定类不被混淆
-keep public class * extends android.app.Activity
<init>; //匹配所有构造器
<methods>; //匹配所有方法
//指定方法不被混淆
-keep class cn.hadcn.test.One {
public <methods>;
}
//指定JSONObject作为入参的构造函数不会被混淆
-keep class cn.hadcn.test.One {
public <init>(org.json.JSONObject);
}
-keepclasseswithmembernames class * { # 保持native方法不被混淆
native <methods>;
}
Proguard关键字 描述
dontwarn dontwarn是一个和keep可以说是形影不离,尤其是处理引入的library时.
keep 保留类和类中的成员,防止被混淆或移除
keepnames 保留类和类中的成员,防止被混淆,成员没有被引用会被移除
keepclassmembers 只保留类中的成员,防止被混淆或移除
keepclassmembernames 只保留类中的成员,防止被混淆,成员没有引用会被移除
keepclasseswithmembers 保留类和类中的成员,防止被混淆或移除,保留指明的成员
keepclasseswithmembernames 保留类和类中的成员,防止被混淆,保留指明的成员,成员没有引用会被移除
作者:一s独秀
链接:https://www.jianshu.com/p/b5b2a5dfaaf4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
image.png
网友评论