如何在任务和扩展之间创建依赖关系?

时间:2016-02-12 16:48:39

标签: gradle android-gradle

我有一个Android gradle脚本如下:

preBuild.dependsOn "editManfest"

task editManfest(type: Copy) {
   // copies and edits the AndroidManifest.xml
}

import com.android.builder.core.DefaultManifestParser
def extension = android {
    def manifestParser  = new DefaultManifestParser()
    def manifestVersion =   manifestParser.getVersionName(android.sourceSets.main.manifest.srcFile)
   ...

然而,扩展中的代码尝试在editManifest任务完成之前访问清单文件。

在扩展程序的代码尝试访问清单之前,我该怎么做才能确保完成任务?

1 个答案:

答案 0 :(得分:0)

您遇到执行与配置时间问题。 editManfest任务将始终在配置配置android扩展后执行。

可以添加

吗?
doLast {
  def manifestParser  = new DefaultManifestParser()
  def manifestVersion = manifestParser.getVersionName(android.sourceSets.main.manifest.srcFile)
}

到您的editManfest任务?