Proguard - 在保留外包的同时混淆内包
Proguard - Obfuscate inner packages while keeping outer packages
我正在开发一个使用我自己的自定义 framework/jar/SDK 的 android 应用程序。假设SDK包名是com.vrs.fm
,在这个主包内,有N个子包,类。由于历史原因,我的申请包是com.vrs.app
。
在我的自定义 vrs
SDK 上启用混淆器时,我需要将 类 保留在包 com.vrs
下,所以我添加了以下混淆器规则。
-dontwarn com.vrs.**
-keep class com.vrs.** { *; }
这使我的应用程序代码也不会被混淆。
现在我想知道是否有任何 way/rule,我可以在 com.vrs.app
包下混淆 类 但将 类 保留在 com.vrs.fm
您可以使用排除规则来排除保留某些子包:
-keep class !com.vrs.app.**, com.vrs.** { *; }
如果 com.vrs.app 中的某些部分仍然需要明确保留,您可以根据需要添加额外的保留规则,例如:
-keep class com.vrs.app.xxx.yyy { xxx; }
我正在开发一个使用我自己的自定义 framework/jar/SDK 的 android 应用程序。假设SDK包名是com.vrs.fm
,在这个主包内,有N个子包,类。由于历史原因,我的申请包是com.vrs.app
。
在我的自定义 vrs
SDK 上启用混淆器时,我需要将 类 保留在包 com.vrs
下,所以我添加了以下混淆器规则。
-dontwarn com.vrs.**
-keep class com.vrs.** { *; }
这使我的应用程序代码也不会被混淆。
现在我想知道是否有任何 way/rule,我可以在 com.vrs.app
包下混淆 类 但将 类 保留在 com.vrs.fm
您可以使用排除规则来排除保留某些子包:
-keep class !com.vrs.app.**, com.vrs.** { *; }
如果 com.vrs.app 中的某些部分仍然需要明确保留,您可以根据需要添加额外的保留规则,例如:
-keep class com.vrs.app.xxx.yyy { xxx; }