【发布时间】:2022-08-03 02:00:17
【问题描述】:
标签: android android-studio proguard android-r8 android-obfuscation
标签: android android-studio proguard android-r8 android-obfuscation
您可以说 proguard 以保留所有扩展 androidx.fragment.app.Fragment 的类的名称(或您使用的另一个基本 Fragment 类)
-keepnames class * extends androidx.fragment.app.Fragment
【讨论】:
我强烈建议您阅读此文档: https://www.guardsquare.com/manual/configuration/usage#keepoptions
还要在 proguard.cfg 中使用 -keepnames 选项
我给你举个例子:
-keepnames class_specification
您也可以使用它来避免混淆任何类名:
-keepnames class ** { *; }
【讨论】:
只需添加 proguardrules 以保留包含所有碎片所以写在下面proguardrules
-keep public class com.your_app_name.app.view.fragments.** {*;}
例如:我的包名是com.tdscalculator.app 和我所有的碎片在com -> tdscalculator -> app -> view -> fragments 里面,所以对于这个例子,我在上面写了proguardrule 所以相应地修改此规则
如果你想保留不同目录的片段然后使用proguardrules 提及所有片段
-keepnames class com.your_app_name.app.view.fragments.HomeFragment{}
快乐编码:)
【讨论】: