混淆

2022-07-21  本文已影响0人  霁逸lei

包混淆(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
上一篇下一篇

猜你喜欢

热点阅读