问题描述
虽然 Fragment 和 View 类不是 android MainComponent 并且在 AndroidManifest.xml 中没有引用它们,但是当启用 minify 并且 Proguard 运行良好时,扩展 Fragment 或 View 的类不会更改它们的名称/包。>
为什么他们不混淆?
PS1:其他代码完全混淆(更改名称/包/方法/属性)
PS2:上面的类只是混淆了它们的方法和属性。 (不是名称和包)
解决方法
为什么他们不混淆?
它们经常被使用反射的字符串引用,例如在布局、菜单和导航资源中。如果 ProGuard 重命名它们,这些字符串将无效,并且您的应用程序将崩溃。因此,默认规则设置为保留这些类的名称。