有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

我目前在我的构建中有这个Ant目标设置。xml:

<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.安卓(.*).R;"/>
        <substitution expression="import com.arthur.安卓.brandA.R;"/>
        <fileset dir="src" includes="**/*.java" />
    </replaceregexp>
    <replaceregexp flags="g" byline="false">
        <regexp pattern="package=&quot;com.arthur.安卓(.*)&quot;" />
        <substitution expression="package=&quot;com.arthur.安卓.brandA&quot;" />
        <fileset dir="" includes="AndroidManifest.xml" />
    </replaceregexp>
</target>

是否有一种方法可以添加更多任务,让输出文件像brandA一样。apk

谢谢!


共 (3) 个答案

  1. # 2 楼答案

    Here我找到了更好的解释和更合适的方法来覆盖发布目标

    请参阅以下章节:

    <target
            name="release"
            depends="custom-set-release-mode, android_rules.release" />
    
  2. # 3 楼答案

    最终的apk文件名实际上是由属性“out”定义的。最终的文件'

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

    <target name="-set-out-final-file">
        <property name="out.final.file" location="${out.absolute.dir}/brandA.apk" />
    </target>
    

    最后,在调用调试或发布目标之前,只需调用-set-out-final-file目标

    使用release-brandA任务,它将变成:

    <target name="release-brandA"
            depends="default, -set-out-final-file, -set-release-mode, -release-obfuscation-check...