图书馆项目需要proguard.cfg吗?

Reg*_*kie 33 android proguard android-library

假设我需要为应用程序项目和它所依赖的库项目应用相同的规则,我是否需要将proguard.cfg的内容从应用程序复制到库项目?

换句话说,应用程序的proguard.cfg是否"接管"它所依赖的所有库项目,还是我必须为每个库项目明确指定规则?

Eri*_*une 100

库项目本身不运行ProGuard,因此它们不使用任何配置.

应用程序项目模糊了整个代码库,包括任何引用的库,因此需要对应用程序代码和库代码进行适当的配置.

  • 哇!不能比Proguard的开发者更具权威性.接受+ 1. (32认同)
  • 如果您想提供由第三方使用的SDK并且您想使用proguard进行模糊处理,该怎么办?从答案中我了解到proguard并非旨在模糊库项目.但这在技术上是不可能的吗?难道你不能混淆除外部接口之外的库吗? (7认同)
  • 当您按住Command键单击以浏览其实施时,Google的许多API(我知道的谷歌地图,我相信的分析,可能还有许多其他)都会被混淆.(例如:"类SupportMapFragment {private final SupportMapFragment.zzb zzaJA = new SupportMapFragment.zzb(this); ...}").第三方如何以类似的方式模糊他们的独立库,以便更难进行逆向工程?我怀疑它需要一个自定义脚本直接打开aar,编写Java类,然后重新打包aar.有人可以分享这个脚本吗? (4认同)
  • @Eric Lafortune 是否仍然如此,因为似乎我可以将我的 Android 库模块配置为运行 proguard,并且我在库模块的构建文件夹中获得了 usages.txt 和 mappings.txt。但是我将库的 proguard 配置复制到主应用程序模块似乎仍然很重要,所以它是否运行了两次 proguard? (2认同)