gpt4 book ai didi

android - Gradle插件,在构建过程中两次运行任务

转载 作者:行者123 更新时间:2023-12-03 05:18:09 25 4
gpt4 key购买 nike

我正在尝试扩展gradle Android plugin的功能。
关键是,我需要在一个构建中运行两次相同的任务(实际上,整个任务链直到connectedInstrumentTest),并且由于我无法仅使用gradle来管理该任务,因此我决定编写自己的插件将扩展到现有的Android插件。
因此,现在我正尝试使用此类常规代码在Android插件中使用功能:

void apply(Project project) {

project.plugins.apply(JavaPlugin.class)
project.plugins.apply(AndroidPlugin.class)

this.project = project
this.logger = project.logger

AndroidPlugin a = new AndroidPlugin()
a.apply(project)

但是,尝试编译它时,出现错误:

导入com.jvoegele.gradle.plugins.android.AndroidPlugin

我正在使用这样的build.gradle来编译我的插件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'groovy'
dependencies {
compile gradleApi()
compile localGroovy()
}

另外,由于我是第一次使用groovy,因此在覆盖方法方面有些困难。我试过了,但是似乎不起作用:
 MetaMethod proces = AndroidPackageTask.metaClass.pickMethod("process")
proces = {
println("ggggggg")
}

那么,谁能说出编译插件有什么问题,或者在一次构建中两次如何使用任务呢?

最佳答案

在同一版本中不可能两次运行任务。您可以执行的操作是创建两个具有相同类型和配置的任务(请注意,可以一次配置多个任务),或者(作为最后的选择)启动两个嵌入式构建(任务类型为GradleBuild),它们共享一个构建脚本。

关于android - Gradle插件,在构建过程中两次运行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17854754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com