微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么它需要两个 proguard 规则 - 保持同一个类

如何解决为什么它需要两个 proguard 规则 - 保持同一个类

一个应用程序中,在同一个规则文件中使用的 proguard 规则中看到了这两个。

-keep public class com.google.gson.**
-keep public class com.google.gson.** {public private protected *;}

一个只有类。 第二个括号包含更多细节。

为什么需要两条规则?第一个不也适用于班级成员吗?

解决方法

第一个选项 (-keep public class com.google.gson.**) 将保留包 com.google.gson 和所有底层包中的公共类名称,但不保留它们的成员。

使用第二个选项,相当于 -keep public class com.google.gson.** { *; },您将保留公共类名称及其成员。注释掉第一个 -keep 选项应该没有区别。

您可以使用 ProGuard Playground 来查看 ProGuard 配置对 jar/apk 中的类的影响。我已经使用这些 -keep 选项创建了一个选项,您可以通过单击链接打开这些选项。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。