我已经在Android中创建了一个模块以在我的主应用程序中使用,似乎其中有两个文件Consumer-rules.pro和proguard-rules.pro。
我想知道以下事情
请告知。
我会尽力回答每个问题,即使让我知道是否有什么问题!
迷惑不是那样的。当您在应用程序模块中启用minify属性时,它将尝试混淆应用程序模块中可用的代码以及它的第三方依赖关系,并且您的库模块将被视为第三方部门。在这里,但不涉及您的第三方依赖项的任何传递性依赖项>]。
proguard-rules.pro是您在其中声明与proguard相关的规则的文件,它是模块及其依赖项。
consumer-rules.pro
是一个文件,您在其中声明可以从使用者(将模块/库用作依赖项的人,通常由库开发人员使用的人)可以在您的模块上应用的规则。我建议您应该(每个开发人员必须在发布apk上做所有事情],但要确保一切都按预期工作,因为基础classes.dex在应用minify后会发生变化。它有助于减小输出apk的大小,优化代码,模糊化类文件等等……
不,基本上是从库模块本身的consumer-rules
文件中应用库规则,因此,当您在应用程序模块中声明库规则时,它从consumer-rulesproguard-rules.pro是您声明库第三方依赖关系的规则的地方((对于您的应用程序模块/主模块,它被视为传递性依赖关系)
并且它没有”不会被应用模块规则覆盖。