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

时间:2016-09-12 09:39:28

标签: android proguard obfuscation android-proguard android-productflavors

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

答案 0 :(得分:3)

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

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

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

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