gradle属性为“实验性和不受支持”是什么意思?

时间:2018-11-15 15:31:49

标签: android gradle android-databinding gradle-properties

有几次,为了解决问题或更新依赖关系,我必须启用给定的 gradle选项设置

  • 例如,Robolectric 4.0 Migration guide指出:

      

    将其放入您的gradle.properties:

         

    android.enableUnitTestBinaryResources=true

  • 同样,要调试数据绑定编译错误,我遵循了Gradle构建日志中打印的建议:

      

    Gradle可能会禁用增量编译[...]。
      请考虑在gradle.properties文件中设置实验性功能标记android.enableSeparateAnnotationProcessing=true ,以在单独的任务中运行注释处理并使编译增量。


从这两个示例中,我都认为作者(Robolectric / gradle维护者)相信启用此选项将对每种情况产生积极影响。
但是,在两种情况下,我的构建输出都会收到此警告:

  

警告:选项设置'android.enableUnitTestBinaryResources = true'是实验性的,不受支持。   当前的默认值为“ false”。

     

警告:选项设置'android.enableSeparateAnnotationProcessing = true'是实验性的,不受支持。   当前的默认值为“ false”。

几个月以来,我的旗帜gradle.properties一直放在我的android.databinding.enableV2=true中。为了查看其处理方式,我尝试将其放入false,它带来了相同的The option setting 'android.databinding.enableV2=false' is experimental and unsupported.警告(似乎表明unsupported设置被忽略了)。

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

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

1 个答案:

答案 0 :(得分:1)

这是新的实验性AGP功能的默认警告。这通常意味着,如果您想file a bug反对他们,可能会考虑也可能不会考虑。这也意味着,它们最终可能会在任何给定时间(或将来的版本)被收回;没什么可依靠的。例如,也可能会警告不再支持这种功能开关,并且它没有任何作用。