如何在使用ant构建Android apk时在文件名中包含版本字符串?

通常我们使用命令在调试模式下构建android

ant debug 

并获得apk文件名AppName-debug.apk

有没有办法以不带’mv’命令直接生成AppName-debug-.apk格式的apk文件?

谢谢。

Solutions Collecting From Web of "如何在使用ant构建Android apk时在文件名中包含版本字符串?"

我通过使用Android清单中的信息以自动方式完成此操作。

我的方法是修改本地项目ant build.xml文件以导入主build.xml文件的自定义副本,在最新版本的SDK中,导入到本地文件的主文件位于/tools/ant/build.xml (在以前的版本中是android_rules.xml)注意项目本地的默认build.xml文件中的import行。

Android工具创建的本地build.xml的注释包含有关如何进行自定义的详细信息,以便将来对工具的更新不会破坏您的更改。

在自定义规则文件中添加:

  

这将清单读入一组ant属性,并带有自定义前缀以确保没有名称冲突。

然后,您可以将$ {mymanifest.manifest.android:versionName}添加到定义了apk名称的任何位置,只需在自定义规则文件中搜索.apk

我已经使用此过程从构建服务器自动化版本控制文件。

通过一些额外的调整,还可以自动签署您的发布应用程序,购买设置属性中的密码并使用签名任务中的密码。 存储在仅存在于构建服务器上的单独属性文件中的实际密码。 虽然存在轻微的安全风险,但在某些情况下,由于需要完整的端到端构建自动化,因此存在风险。

另一个更像Android的解决方案是使用XPATH任务,因为它在$ {sdk.dir} /tools/ant/build.xml中完成:

   

这需要定义任务:

     

我不知道哪个是最低版本的SDK版本,但它适用于SDK14。

问候,迈克尔

以下post中描述的解决方案具有custom_rules.xml文件,可以将其复制以实现所需的结果。 http://jeffreysambells.com/2013/02/14/build-your-android-apk-with-the-manifest-version-number

是的有一种生成带有任何名称的apk文件的方法我给你一个过程,你得到这个过程.apk提到你的名字。

1 – 右键单击​​包资源管理器中的应用程序。 2-Chose export。 3选择Android 4-Choose Export Android应用程序。 5 – 创建新的密钥库。 6-填写表格。 7-:给你的 apk文件名你想要的 8-:给apk的位置存储apk。

然后你find问题的解决方案。 我希望这是有帮助的。