我一直在疯狂地试图将我的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>
答案 0 :(得分:1)
我能够通过在方法
中使用以下代码段来实现此目的 ant.importBuild 'build.xml'
postPackage.doFirst{println("Im starting")}
postPackage.execute()
答案 1 :(得分:0)
ant.importBuild
将为Ant构建中找到的每个Ant目标创建一个同名的Gradle任务。然后,您可以从命令行调用这些任务和/或使其他任务依赖于它们。有关更多信息,请参阅Gradle User Guide,
答案 2 :(得分:0)
嗯,我认为这个Kotlin正在为我工作;
val t : Task = tasks.named("war").get()
t.actions.forEach { a -> a.execute(t) }