【问题标题】:How do I use Ant to build multiple Android APKs with the same code base, but with different resource files?如何使用 Ant 构建多个具有相同代码库但资源文件不同的 Android APK?
【发布时间】:2012-12-26 13:06:25
【问题描述】:

我正在尝试构建一个品牌 Android 应用程序,该应用程序将为不同的客户提供不同的资源文件(主要是可绘制对象)。应用程序中的 Java 代码是相同的,但不同的应用程序会有不同的外观——意味着不同的配色方案和不同的徽标等。有人告诉我,我的研究表明 Ant 是实现这一目标的最佳方式。

我应该在哪里更改 Android 'build.xml' 文件?我应该使用哪种 Ant 任务来实现这一点?

对于调试,我只想使用 Eclipse 并使用默认资源进行构建。但是对于生产版本,我想在 build.xml 上运行 Ant 以从不同的 /res 文件夹生成多个 APK。我什至不需要任何代码 sn-ps(尽管那会很好),甚至不需要以前做过此操作的人的一些提示或类似的东西。

【问题讨论】:

  • 我最终编写了一个 Python 脚本来在每次构建之前重新组织 Android 项目。我建议避免将 Ant 用于此类事情。除了默认的 Android build.xml Ant 脚本之外,我的 100-200 行 Python 相当于增加了大约 1000 多行 Ant。

标签: android ant build


【解决方案1】:

我最终编写了一个 Python 脚本来在每次构建之前重新组织 Android 项目。我建议避免将 Ant 用于此类事情。除了默认的 Android build.xml Ant 脚本之外,我的 100-200 行 Python 相当于增加了大约 1000 多行 Ant。

【讨论】:

    【解决方案2】:

    需求设置

    1.转到网址:

    http://ant.apache.org/bindownload.cgi

    并下载 apache ant 并将其解压缩到 d:/ant 等任何文件夹中。

    2.我认为你已经有了Android SDK路径就像(D:/Android SDK/)

    现在转到环境变量并检查路径变量是否存在,将这些添加到路径中,否则创建一个名为路径的新变量并将其放在 vaue 中

    D:/ant/bin;D:/Android SDK/tools

    完成

    转到命令提示符并将其导航到项目的根目录并运行命令

    android update project -p /
    

    注意:/如果你在项目的根目录,否则你需要给出根目录的路径,比如d:/myworkspace/mysampleproject

    这将在您的项目中生成并 build.xml 文件。

    现在为此运行命令,它必须位于项目的根目录中

    ant debug
    

    这将在 bin 文件夹中生成一个使用默认调试密钥签名的 apk 文件。

    【讨论】:

    • 这不是我问的。安装和运行 Ant 非常简单,我不需要帮助。
    【解决方案3】:

    我遇到了类似的问题,我想编译相同的代码库,并进行一些更改以及资源文件中的更改。我目前追求的解决方案是为每个不同的 APK 版本创建一个包含共享代码/资源和单独的“常规”项目的库。不幸的是,我还没有一个功能性的最终解决方案,所以我只能给出这些模糊的提示。

    【讨论】:

    • 这可能是我使用的解决方案。我现在正在查看 ant,看看我是否可以编写一个可以动态切换库引用的自动构建过程。如果这对我有用,我会告诉你。谢谢。
    • 我已经使用android update-project 命令将Ant 脚本配置为使用单个库。如果您可以通过“动态切换库引用”来解释您要解决的问题,也许我可以提供一些替代解决方案的建议。
    猜你喜欢
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多