用于 android 混淆的 Proguard

Proguard for android obfuscation

有没有比更改包名称更简单的方法来处理这个问题。例如:我有以下 10 个包名称,我希望只混淆其中一个,并保留其他包的其余部分。

我想混淆 "com.myOrg.myApp.pkgNameA" 并保持其他包不变。我目前在我的 proguard 文件中列出包 B-J 以避免混淆它。如果我输入“com.myOrg.myApp.**{*;}”,这也不会混淆 "com.myOrg.myApp.pkgNameA"。

我的混淆文件的一部分:

-keep class com.myOrg.myApp.pkgNameB.** { *; }
-keep class com.myOrg.myApp.pkgNameC.** { *; }
-keep class com.myOrg.myApp.pkgNameD.** { *; }
-keep class com.myOrg.myApp.pkgNameE.** { *; }
-keep class com.myOrg.myApp.pkgNameF.** { *; }
-keep class com.myOrg.myApp.pkgNameG.** { *; }
-keep class com.myOrg.myApp.pkgNameH.** { *; }
-keep class com.myOrg.myApp.pkgNameI.** { *; }
-keep class com.myOrg.myApp.pkgNameJ.** { *; }

有什么简单的方法让proguard文件知道保留所有的包,除了一个需要混淆的包吗?

你可以在 class 名称上使用否定运算符吗?

-keep class !com.myOrg.myApp.pkgNameA.** { *; }