【问题标题】:Creating multiple APKs with different source code使用不同的源代码创建多个 APK
【发布时间】:2014-05-27 19:48:46
【问题描述】:

我使用 Jenkins 构建我的 Android 项目,目前只输出一个 APK 文件。

我希望能够输出两个具有不同名称的 APK 文件(例如,android-app-A.apkandroid-app-B.apk)。

此外,我的源代码中需要一个值来在 AB APK 之间进行更改。特别是,它是一个String 变量。

例如,对于android-app-AString 的值应为 foo。对于android-app-B,它应该是bar。因此,如果应用程序只显示 String 值,当用户运行 android-app-A.apk 时它会显示 foo,当用户运行 android-app-B.apk

时会显示 bar >

如果有帮助,我还使用 Maven 来管理我的 Android 项目依赖项。

有什么办法可以做到吗?

我查看了Maven Profiles 并浏览了Maintaining Multiple APKs 上的 Android 开发者页面,但我不确定最佳方法是什么以及这是否可行。

【问题讨论】:

    标签: java android maven jenkins


    【解决方案1】:

    Maven 可能不是实现这一目标的最佳构建工具。我强烈建议您使用gradle,因为它包含一个内置功能:productFlavor 允许您做您需要的事情。

    【讨论】:

    • 我无法使用 Gradle,因为我的项目和构建环境严重依赖 Maven。
    • 我不知道你说的严重是什么意思......但是你可以使用 maven 依赖解析和 gradle 并且 gradle 与 jenkins 集成得很好
    【解决方案2】:

    多个 APK 名称: MainActivity 的名称用于 APK 的名称。它在 AndroidManifest.xml 中使用 android:label 标记进行说明,通常在文件夹 values 的 String.xml 中引用 app_name String 您的项目。在导出第二个 APK 之前,只需更改 String 即可。

    对于您的第二种方法: 如果 String 值只有一个,为什么不更改它本身? 如果有更多不同,请使用多个字符串清单并将另一个注释掉。如何使用多个String.xml 已经回答here

    【讨论】:

    • 如何将它集成到 CI 构建系统中?
    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 2012-07-13
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    相关资源
    最近更新 更多