gpt4 book ai didi

android - 如何在build.gradle中执行Ant目标任务?

转载 作者:行者123 更新时间:2023-12-03 04:40:01 24 4
gpt4 key购买 nike

如何从build.gradle文件中执行与Ant目标关联的任务?
build.gradle中用于导入build.xm l文件的部分:

def targetSdk = android.defaultConfig.targetSdkVersion.getApiLevel()
ant.properties['android.version'] = "android-$targetSdk"
ant.properties['sdk-location'] = SDK_DIR
ant.importBuild(rootDir.absolutePath + "/bcproj/build.xml")

我要执行的 Ant 目标名为 compile-android。它可以通过以下命令在命令行成功运行:
./gradlew compile-android

但是我想将此包含在 build.gradle中,以便可以为每个buildType指定需要编译的ant目标。在我的所有谷歌搜索中,我所能找到的引用就是在命令行中对其进行编译。

更新1

我尝试将 compile-android任务添加为与构建过程一起执行的另一个任务的依赖项。尽管从概念上讲,两者实际上是彼此独立的。这仍然无法使 compile-android执行。
task copyShopMetadata(type: Exec, dependsOn: 'compile-android') {
workingDir rootDir
commandLine './copy_shop_metadata.sh'
}

copyShopMetadata.execute()

我试着扭转依赖关系,但仍然无法正常工作。
Task t = tasks.findByName('compile-android')
t.dependsOn(copyShopMetadata)
copyShopMetadata.execute()

更新2

我应该注意,从命令行执行时,添加上面的依赖示例确实有效。但是,我的最终目标是能够在Android Studio中命中“与gradle文件同步项目”并编译 compile-android ant目标。也许这是不可能的?

最佳答案

假设您的任务不旨在独立于所有其他处理,那么您将希望您的任务被其他任务所依赖,这意味着当您尝试运行该其他任务时,将首先执行该任务。例如,该任务可能是“build”,因此您可以执行以下操作:

project.build.dependsOn("compile-android")

(我不确定确切的语法。)

关于android - 如何在build.gradle中执行Ant目标任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29494564/

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