gradle如何执行ant构建文件

时间:2014-09-25 16:22:34

标签: android ant gradle build-process

我一直在疯狂地试图将我的custom_rules.xml重建为gradle中的某些东西并证明它非常困难。所以我的下一步是尝试将gradle中最后几个不能作为build.xml导入的内容导入。

然而,这似乎没有做任何事情。当我尝试使用时     ant.importBuild'build.xml' 我的脚本没有反馈或没有回声。我已经通过gradles文档阅读了很多,特别是关于蚂蚁和我的生活,我无法弄清楚我应该做什么,一旦构建导入。如何执行脚本?

这是我的build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project>
<target name="postPackage" >
<property name="config_path" location="${cert.dir}" />
<property name="out.pre.widevine.signed.file" location="release-pre-widevine-sign.apk" />
<property name="out.widevine.signed.file" location="release-widevine-signed.apk" />
<echo>sign with widevine certificate</echo>
<touch file="res/raw/wv.properties"/>
<copy file="${out.packaged.file}" tofile="${out.pre.widevine.signed.file}"/>
<java jar="apksigtool.jar" failonerror="true" fork="true">
    <arg value="${out.packaged.file}"/>
    <arg value="private_key.der" />
    <arg value="my.crt" />
</java>
<copy file="${out.packaged.file}" tofile="${out.widevine.signed.file}"/>
</target>
</project>

3 个答案:

答案 0 :(得分:1)

我能够通过在方法

中使用以下代码段来实现此目的
    ant.importBuild 'build.xml'
    postPackage.doFirst{println("Im starting")}
    postPackage.execute()

答案 1 :(得分:0)

ant.importBuild将为Ant构建中找到的每个Ant目标创建一个同名的Gradle任务。然后,您可以从命令行调用这些任务和/或使其他任务依赖于它们。有关更多信息,请参阅Gradle User Guide

中的“16.2。导入Ant构建”

答案 2 :(得分:0)

嗯,我认为这个Kotlin正在为我工​​作;

  val t : Task = tasks.named("war").get()
  t.actions.forEach { a -> a.execute(t) }