Proguard:如何保留除特定条件之外的所有内容?

2024-05-07

我正在使用 Proguard 来混淆我的代码,并且我需要保留每个第三方库,例如:



-keep class com.layer.**
-dontwarn com.layer.**
-keep class com.twitter.**
-keep class android.support.**
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
...
  

每当我添加新的第三方库时,我都需要检查其包名称并将其添加到我的 proguard 配置文件中,否则应用程序可能会崩溃。

我不能这样写规则吗?我不关心不属于我的代码。

-keep class !(my.package.name.**)
-dontwarn !(my.package.name.**)

Thanks!


要将除类之外的所有内容保留在您自己的包中,您可以使用您已经指出的规则(不包括括号):

-keep class !my.package.name.** { *; }

这将隐式保留其他所有内容。 您还可以另外添加-keep如果需要的话,为你的班级制定规则。

规则为-不警告应该以类似的方式工作:

-dontwarn !my.package.name.**,**

您还可以添加类似的-不注意如果需要的话规则。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Proguard:如何保留除特定条件之外的所有内容? 的相关文章

随机推荐