android - gradle 属性“实验性且不受支持”是什么意思?
问题描述
有几次,为了解决问题或更新依赖项,我不得不启用给定的gradle 选项设置。
例如,Robolectric 4.0 迁移指南指出:
把它放在你的 gradle.properties 中:
android.enableUnitTestBinaryResources=true
同样,为了调试数据绑定编译错误,我遵循了 Gradle 构建日志中打印的建议:
Gradle 可能会禁用增量编译 [...]。
考虑在 gradle.properties 文件中设置实验特性标志android.enableSeparateAnnotationProcessing=true
,以在单独的任务中运行注释处理并使编译增量。
从这两个示例中,我了解到作者(Robolectric/gradle 维护者)相信启用此选项将对每种情况产生积极影响。
但是,在这两种情况下,我都会在构建输出中收到此警告:
警告:选项设置 'android.enableUnitTestBinaryResources=true' 是实验性的并且不受支持。当前默认值为“假”。
警告:选项设置 'android.enableSeparateAnnotationProcessing=true' 是实验性的并且不受支持。当前默认值为“假”。
我已经在我gradle.properties
的几个月里挂上了旗帜android.databinding.enableV2=true
。为了查看它是如何处理的,我尝试将它放到false
,它带来了相同的The option setting 'android.databinding.enableV2=false' is experimental and unsupported.
警告(这似乎表明一个unsupported
设置被忽略了)。
我了解这些是实验性功能标志。但是不支持呢?这是否意味着如果出现任何问题,我不应该期望得到支持,或者这是否意味着它们将被忽略?
如果这意味着它们被忽略,那么这些属性应该如何使用?
解决方案
这是新的实验性 AGP 功能的默认警告。这通常意味着,如果您向他们提交错误,可能会或可能不会考虑。这也意味着,它们最终可能会在任何给定时间(或未来版本)被收回;它没有什么可依赖的。例如,它可能会警告不再支持这样的功能开关并且它没有效果。
推荐阅读
- vhdl - VHDL FSM多驱动网Q连接到常量驱动,其他驱动被忽略,我的代码有什么问题?
- apache-spark - 从 2 个单独的 Spark 进程写入 1 个 HDFS 目录
- css - 即使我用自己的样式表分隔它,我的媒体查询也不起作用?
- mysql - 试图从 3 个不同的表中找到 3 列
- r - R中合并的特殊情况
- haskell - 与 show 相比,showsPrec 有哪些优势?
- javascript - foreach 检查图像是否存在
- android - Android 快速设置磁贴下拉菜单
- java - 加载驱动类com.mysql.jdbc.Driver失败
- r - 具有两个因素的分组条形图