如何仅混淆 com.foo.* 和 com.bar.* (ProGuard)?
Posted
技术标签:
【中文标题】如何仅混淆 com.foo.* 和 com.bar.* (ProGuard)?【英文标题】:How can I obfuscate only com.foo.* and com.bar.* (ProGuard)? 【发布时间】:2011-05-30 23:28:09 【问题描述】:我只想混淆一些包:
com.foo.*
com.bar.*
我试过了
-keepclasseswithmembers class **, !com.foo.**, !com.bar.** *;
和
-keepclasseswithmembers class !com.foo.** *;
-keepclasseswithmembers class !com.bar.** *;
在这两种情况下,来自 com.foo.* 和 com.bar.* 的类都没有被混淆了。
【问题讨论】:
【参考方案1】:这应该可行
-keep class !com.foo.**,!com.bar.** *;
您可以在以下位置找到各种 -keep 选项的摘要 https://www.guardsquare.com/manual/configuration/usage#keepoptions
您可以在以下位置找到 ProGuard 正则表达式的解释 https://www.guardsquare.com/manual/configuration/usage#filters
【讨论】:
在我的 android 项目中,这行代码什么都不做。什么可以阻止它? @rekire 也许你还没有在 build.gradle 中设置“minifyEnabled true”? 在 Android 中,这对我有用-keep class !com.foo.**,!com.bar.**, ** *;
。需要添加你想要保留的模式**
- 意味着一切以上是关于如何仅混淆 com.foo.* 和 com.bar.* (ProGuard)?的主要内容,如果未能解决你的问题,请参考以下文章