【问题标题】:Build all binaries for different Android app stores in a single step一步构建适用于不同 Android 应用商店的所有二进制文件
【发布时间】:2011-04-20 14:09:56
【问题描述】:

我目前在 Android Market、SlideMe 和亚马逊应用商店上分发我的 Android 应用程序。 Android Market 和 SlideMe 需要一个签名的二进制文件,而 Amazon 需要一个未签名的二进制文件。我还需要根据我的目标商店来区分一些要编译的代码。目前我只需要显示不同的文本/链接信息,但将来可能需要更改包含的库等内容。

我在 Windows 上使用 Eclipse 来构建我的项目。我正在寻找最简单的方法来有条件地编译代码并根据每个商店的需要创建多目标构建。

我不需要由提交或计时器或任何类似性质的东西自动触发构建。我只需要手动触发构建。

感谢任何建议。

【问题讨论】:

  • 题外话,你如何为应用程序定价以满足亚马逊奇怪的价格要求? :)
  • 请不要跑题。在单独的线程中提问。

标签: android eclipse build-automation google-play amazon-appstore


【解决方案1】:

您可能会发现Jenkins 会对此有所帮助。它支持参数化构建,以及矩阵构建。 Matrix 构建多维参数化构建 - 您指定一系列值集,然后构建每个组合。

例如:

  • 语言(美国英语、英国英语、法语)
  • Appstore(亚马逊、Android、SlideMe)

Jenkins 将构建上述所有组合。

显然你仍然需要一个 Ant 构建脚本来完成这项艰苦的工作,但我相信 Android 的 SDK 对 Ant 的支持是合理的。

【讨论】:

  • Rich,我已经澄清了我的问题。我不需要自动触发构建,这似乎是 Jenkins 的用途。我将手动触发构建。我从未使用过 Ant,但这不就是我创建目标构建所需的全部内容吗?
  • 至此,我已经足够开始了。我将首先创建一个 Ant 脚本,这几乎可以解决我的问题。我在这里找到了关于设置 Ant 脚本的优秀教程:androidengineer.com/2010/06/…
【解决方案2】:

您可以为您的 apk 设置一个基于 Maven Android 插件的构建,该构建使用资源过滤和配置文件来满足您的不同配置。查看官方示例项目的 morseflash 示例,详细了解它是如何完成的。

设置好配置文件后,您可以使用 maven 调用程序插件一次性运行所有配置文件。如果您想让它自动化,只需将构建放在 Hudson 上即可。

http://code.google.com/p/maven-android-plugin/

http://code.google.com/p/maven-android-plugin/wiki/Samples

http://www.simpligility.com/2010/11/release-version-management-for-your-android-application/

【讨论】:

    猜你喜欢
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 2013-08-23
    • 1970-01-01
    • 2016-09-06
    相关资源
    最近更新 更多