Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Ant自动重命名输出apk文件?_Java_Android_Eclipse_Ant - Fatal编程技术网

Java 如何使用Ant自动重命名输出apk文件?

Java 如何使用Ant自动重命名输出apk文件?,java,android,eclipse,ant,Java,Android,Eclipse,Ant,我现在和Ant一起玩,做一些汽车品牌的工作。我修改了defaultbuild.xml并设置了自己的目标。我希望问的是,在Ant脚本中是否有一种方法可以自动重命名apk文件,只使用特定的名称构建 我当前在build.xml中有以下Ant目标设置: <target name="release-brandA" depends="default, -set-release-mode, -release-obfuscation-check, -package, -post-p

我现在和Ant一起玩,做一些汽车品牌的工作。我修改了defaultbuild.xml并设置了自己的目标。我希望问的是,在Ant脚本中是否有一种方法可以自动重命名apk文件,只使用特定的名称构建

我当前在build.xml中有以下Ant目标设置:

<target name="release-brandA"
            depends="default, -set-release-mode, -release-obfuscation-check, -package, -post-package, -release-prompt-for-password, -release-nosign, -release-sign, -post-build"
            description="Builds the application in release mode for brandA.">
    <delete dir="${res}" />
    <copydir dest="${res}" src="${branding}/brandA" forceoverwrite="ture" />
    <replaceregexp flags="g" byline="false">
        <regexp pattern="import com.arthur.android(.*).R;"/>
        <substitution expression="import com.arthur.android.brandA.R;"/>
        <fileset dir="src" includes="**/*.java" />
    </replaceregexp>
    <replaceregexp flags="g" byline="false">
        <regexp pattern="package=&quot;com.arthur.android(.*)&quot;" />
        <substitution expression="package=&quot;com.arthur.android.brandA&quot;" />
        <fileset dir="" includes="AndroidManifest.xml" />
    </replaceregexp>
</target>

有没有一种方法可以添加更多的任务,让输出文件像brandA.apk一样


谢谢大家!

最终apk文件名实际上是由属性“out.final.file”定义的

因此,您可以创建设置此属性的新任务:

<target name="-set-out-final-file">
    <property name="out.final.file" location="${out.absolute.dir}/brandA.apk" />
</target>
我找到了更好的解释和更合适的方法来覆盖发布目标

请参阅第节:

<target
        name="release"
        depends="custom-set-release-mode, android_rules.release" />

非常简单。请参阅此链接[1]:

所以在上述情况下,我们需要这样运行它

ant debug-Dout.final.file=brandA.apk


就这样。

正是我需要的!非常感谢。
<target
        name="release"
        depends="custom-set-release-mode, android_rules.release" />