首页 文章

Proguard - 在保持外包装的同时混淆内包装

提问于
浏览
1

我正在开发一个使用我自己的自定义框架/ jar / SDK的android应用程序 . 让我们假设这个主包中的SDK包名是 com.vrs.fm ,有N个没有子包和类 . 由于历史原因,我的申请包是 com.vrs.app .

在我的自定义 vrs SDK上启用proguard时,我需要在包 com.vrs 下保留类,所以我添加了以下proguard规则 .

-dontwarn com.vrs.**
-keep class com.vrs.** { *; }

这使得我的应用程序代码也不会混淆 .

现在我想知道是否有任何方法/规则,我可以在 com.vrs.app 包下混淆类但保持类在 com.vrs.fm

1 回答

  • 3

    您可以使用排除规则来排除保留某些子包:

    -keep class !com.vrs.app.**, com.vrs.** { *; }
    

    如果com.vrs.app中的某些部分仍然需要明确保存,那么您可以根据需要添加其他保留规则,如下所示:

    -keep class com.vrs.app.xxx.yyy { xxx; }
    

相关问题