2

虽然 Fragment 和 View 类不是 android MainComponent 并且在 AndroidManifest.xml 中没有引用它们,但是当启用 minify 并且 Proguard 运行良好时,扩展 Fragment 或 View 的类不会更改它们的名称/包。

为什么他们不混淆?

PS1:其他代码完全混淆(更改名称/包/方法/属性)

PS2:上面的类只是混淆了它们的方法和属性。(不是名称和包装)

4

1 回答 1

4

为什么他们不混淆?

它们经常被使用反射的字符串引用,例如在布局、菜单和导航资源中。如果 ProGuard 重命名它们,这些字符串将无效,您的应用程序将崩溃。因此,设置了默认规则以保留这些类的名称。

于 2021-03-06T22:12:43.803 回答