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

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

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

如果我在Application上运行proguard,是否会影响导入库的(已保护)代码?

最佳答案

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


引用the documentation


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


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


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


AFAIK,这是典型的计划。因此,将AAR保留下来,并在应用程序上应用ProGuard。


  如果我在Application上运行proguard,是否会影响导入库的(已保护)代码?


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

关于android - 用于图书馆项目和应用项目的Proguard文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43969160/

10-12 00:23
查看更多