库项目和应用程序项目的 Proguard 文件



我正在使用第三方 .aar 项目,他们已经在 aar 项目中启用了 proguard。在我的应用程序项目中,我也启用了 Proguard,它给了我错误。

那么,我是否需要将他们的(.aar 项目)专业保护规则包含在我的 proguard 配置文件中,或者还有其他可能性吗?

我在博客和帖子中读到,最好的方法是包含没有 proguard 的 .aar 项目,然后在 aar 和整个应用程序项目上运行 proguard。

如果我在应用程序上运行proguard,它会影响导入的库(已经保护)的代码吗?

那么,我是否需要将他们的(.aar 项目)proguard 规则包含在我的 proguard 配置文件中,或者还有其他可能性吗?

引用文档:

您可以通过将包含其 ProGuard 指令的 ProGuard 配置文件添加到库中来启用库上的代码收缩。构建工具将此文件嵌入到为库模块生成的 AAR 文件中。将库添加到应用程序模块时,库的 ProGuard 文件将追加到应用程序模块的 ProGuard 配置文件 (proguard.txt)。

因此,如果库模块defaultConfig中有consumerProguardFiles 'lib-proguard-rules.txt'(请参阅文档),原则上,这些规则将自动应用。

我在博客和帖子中读到,最好的方法是包含没有 proguard 的 .aar 项目,然后在 aar 和整个应用程序项目上运行 proguard。

AFAIK,这是典型的计划。因此,AAR被单独保留,在应用程序上应用ProGuard。

如果我在应用程序上运行proguard,它会影响导入的库(已经保护)的代码吗?

AFAIK,库的代码不应通过 ProGuard 运行。

最新更新