我正在使用第三方.aar项目,他们已经在aar项目中启用了proguard。在我的应用程序项目中,我也启用了Proguard并且它给了我错误。
那么,我是否需要将他们的(.aar项目)proguard规则包含在我的proguard配置文件中,还是有其他可能性?
我已经在博客和帖子中看到,最好的方法是在没有proguard的情况下包含.aar项目,然后在aar和应用程序项目上运行proguard。
如果我在应用程序上运行proguard会影响导入的库(已编程)代码吗?
答案 0 :(得分:1)
那么,我是否需要将他们的(.aar项目)proguard规则包含在我的proguard配置文件中,还是有其他可能性?
您可以通过向库中添加包含ProGuard指令的ProGuard配置文件来启用库的代码缩减。构建工具将此文件嵌入到库模块的生成的AAR文件中。将库添加到应用程序模块时,库的ProGuard文件会附加到应用程序模块的ProGuard配置文件(proguard.txt)。
因此,如果库模块enableLogging
中有consumerProguardFiles 'lib-proguard-rules.txt'
(请参阅文档),原则上这些规则将自动应用。
我在博客和帖子中读到,最好的方法是在没有proguard的情况下包含.aar项目,然后在aar和应用程序项目上运行proguard。
AFAIK,这是典型的计划。因此,在应用程序上应用ProGuard时,AAR将保持不变。
如果我在应用程序上运行proguard会影响导入的库(已编程)代码吗?
AFAIK,图书馆的代码不应该通过ProGuard运行。