我想混淆一切,但保留类名,因为 Dagger 。然后我想混淆实现某些接口(interface)的类。
-keep class com.example.** { <init>(...); }
-keep,allowobfuscation class * implements com.example.util.SomeInterface
-keep,allowobfuscation class * extends com.example.data.SomeClass
第一部分将类名与模糊内容保持在一起效果很好。但实现 SomeInterface 或扩展 SomeClass 的类名仍然可见。
这可能吗?
最佳答案
ProGuard 保留您在指令中指定的类/字段/方法的并集。如果一个类与您的第一个指令匹配,ProGuard 会保留它,而不管任何其他指令。您可能想要根据类名称之外的一些其他标准来优化第一行。
关于java - Proguard 混淆包不包括扩展/实现某些接口(interface)/类的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22179579/