为特定口味禁用 R8
Posted
技术标签:
【中文标题】为特定口味禁用 R8【英文标题】:Disable R8 for specific flavors 【发布时间】:2020-03-17 12:21:45 【问题描述】:我想为我的应用程序的特定风格禁用 R8(因此设置 android.enableR8=false)。有谁知道该怎么做,或者甚至可能吗? 我能否以某种方式指定 gradle.properties 文件,或者这将如何工作?
【问题讨论】:
试试这个链接:enter link description here 我找到了一个更简单的解决方案试试这个链接:***.com/a/43329997/12419420 其他人的背景信息(以及我为什么来到这里):这可能是因为 Amazon IAP 与 Gradle 3.4.0 启用了 R8 的问题所需要的):developer.amazon.com/docs/in-app-purchasing/… 【参考方案1】:我现在通过从命令行传递参数解决了这个问题。这会覆盖 gradle.properties 中的设置。因为我手头有一个脚本可以为特定风格创建发布版本,所以效果很好。根据我通过的口味:
./gradlew -P android.enableR8=false assemble[...]Release
或
./gradlew -P android.enableR8=true assemble[...]Release
现在这对我有用 :)
【讨论】:
不推荐使用“android.enableR8”选项。它在 Android Gradle 插件的 7.0 版中被删除。请将其从gradle.properties
中删除。【参考方案2】:
我能够解决这个问题。我没有编辑build.gradle
文件,而是将-dontobfuscate
添加到proguard-rules.pro
文件中。 (您可以为调试和发布版本配置不同的 proguard
规则文件。)这跳过了混淆步骤,并允许我使用 R8 进行缩小的调试版本。
【讨论】:
感谢您的回答,但不幸的是,这对我不起作用。我需要为特定的产品风味完全禁用 R8,但为其他人保留它。以上是关于为特定口味禁用 R8的主要内容,如果未能解决你的问题,请参考以下文章