Sus*_*ger 18 java android proguard kotlin
我在 Android 中创建了一个模块以在我的主应用程序中使用,并且似乎有两个文件 consumer-rules.pro 和 proguard-rules.pro。
我想知道以下内容
请指教。
Jee*_*ede 41
我会尽量回答每个问题,即使有什么不合理的地方也请告诉我!
混淆不是这样工作的。当您在应用模块中启用 minify 属性时,它会尝试混淆应用模块中可用的代码以及它的第 3 方依赖项,并且您的库模块将被视为第 3 方 deps。在这里,但它不会触及您的 3rd party dependency 的任何传递依赖。
proguard-rules.pro是您为模块及其依赖项声明与 proguard 相关的规则的文件。
consumer-rules.pro是一个文件,您可以在其中声明可以从消费者(任何将您的模块/库用作依赖项,通常由库开发人员使用)应用于您的模块的规则。
我建议你应该(每个开发人员必须在发布 apk 上做),但要确保一切都按预期工作,因为应用 minify 后底层classes.dex 会发生变化。它有助于减少输出 apk 大小、优化代码、混淆类文件等等...
不,基本上库规则是从库模块本身的使用者规则文件中应用的,因此当您在应用程序模块中为库声明这些规则时,它会以与使用者规则相同的方式应用,这基本上表明使用者在缩小时应使用这些规则.
库的proguard-rules.pro是您为库的第 3 方依赖项声明规则的地方(被视为应用程序模块/主模块的传递依赖项)并且它不会被应用程序模块规则覆盖。
我希望这是有道理的!
| 归档时间: |
|
| 查看次数: |
5031 次 |
| 最近记录: |