将Android build gradle版本更新到3.2.1导致错误

时间:2018-11-01 20:28:40

标签: android gradle

一切正常,直到我将build gradle更新为3.2.1,现在我无法构建项目。我有一个任务,它会生成一些定义如下的变体特定代码:

applicationVariants.all { variant ->
    def generateClientIdConfigTask = project.tasks.create(..)
    ....

    variant.variantData.sourceGenTask.dependsOn generateClientIdConfigTask
}

此行引起以下错误:

  

原因:groovy.lang.MissingPropertyException:无此类属性:   class的sourceGenTask:   com.android.build.gradle.internal.variant.ApplicationVariantData

我已经在gradle包装器中更新了distributionUrl,如下所示:

  

distributionUrl = https://services.gradle.org/distributions/gradle-4.6-   all.zip

任何帮助将不胜感激。有没有其他写dependsOn的方法?

1 个答案:

答案 0 :(得分:1)

API android插件已更改。您需要执行此操作(将variant.variantData.sourceGenTask替换为variant.variantData.getTaskContainer().sourceGenTask):

applicationVariants.all { variant ->
    def generateClientIdConfigTask = project.tasks.create(..)
    ....

    variant.variantData.getTaskContainer().sourceGenTask.dependsOn generateClientIdConfigTask
}