android模糊处理的Proguard



有没有一种简单的方法来处理这个问题,而不是更改包名。我有以下10个包的名称,我只想混淆其中一个,并保留其余的包。

  • com.myOrg.myApp.pkgNameA
  • com.myOrg.myApp.pkgNameB
  • com.myOrg.myApp.pkgNameC
  • com.myOrg.myApp.pkgNameD
  • com.myOrg.myApp.pkgNameE
  • com.myOrg.myApp.pkgNameF
  • com.myOrg.myApp.pkgNameG
  • com.myOrg.myApp.pkgNameH
  • com.myOrg.myApp.pkgNameI
  • com.myOrg.myApp.pkgNameJ

我希望混淆"com.myOrg.myApp.pkgNameA",并保持其他包的原样。我目前正在proguard文件中列出包B-J,以避免混淆它。如果我放上"com.myOrg.myApp.**{*;}",也不会混淆"com.myOrg.myApp.pkgNameA"。

我的proguard文件的一部分:

-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文件知道保留所有的包,除了一个需要混淆的包?

你能在类名上使用否定运算符吗?

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

最新更新