为什么片段和视图不混淆?

Why fragments and views doesn't obfuscate?

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

为什么他们不混淆?

PS1:其他代码完全混淆(更改name/package/methods/attributes)

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

Why they don't obfuscate?

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

的名称