我正在开发一个使用我自己的自定义框架/ 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

最佳答案

您可以使用排除规则来排除某些子软件包:

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


如果com.vrs.app中的某些部分仍需要显式保留,则可以根据需要添加其他保留规则,如下所示:

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

10-08 16:41