19

有几次,为了解决问题或更新依赖项,我不得不启用给定的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设置被忽略了)。

  • 我了解这些是实验性功能标志。但是不支持呢?这是否意味着如果出现任何问题,我不应该期望得到支持,或者这是否意味着它们将被忽略

  • 如果这意味着它们被忽略,那么这些属性应该如何使用?

4

1 回答 1

1

这是新的实验性 AGP 功能的默认警告。这通常意味着,如果您向他们提交错误,可能会或可能不会考虑。这也意味着,它们最终可能会在任何给定时间(或未来版本)被收回;它没有什么可依赖的。例如,它可能会警告不再支持这样的功能开关并且它没有效果。

于 2020-04-01T00:13:27.057 回答