【发布时间】:2011-11-22 09:28:26
【问题描述】:
我想要一个 Android 构建系统过程、命令行或 Eclipse,以从单个源代码库生成多个 .apk 文件。造成这种情况的一些常见原因 - 为具有不同要求的市场提供特定版本或免费和付费版本。
这个问题不是关于:
将共享代码打包到 Android libraries 或外部 Java jar 中
生成调试与signed release .apk
Google says“您可能需要为您打算发布的每个 APK 创建单独的 Android 项目,以便您可以适当地单独开发它们。您可以通过简单地复制现有项目并给它一个新名称来做到这一点。”然后他们好心地建议使用我理解的库。然后,他们顺便提到了我真正想要的:“一个可以根据构建配置输出不同资源的构建系统”
我知道要在 JAVA 中完成条件编译,可以关闭“public static final”变量。 build.xml 中有一个example of tweaking 这样的值。请提供更完整的 Android Ant 构建配置示例或指向 OSS 项目的链接吗?顺便说一句,build.xml 是自动生成的,但我见过有人破解它,那它是如何工作的?
如果在 Manifest.xml 中声明的包名称为 package="com.example.appname",如果需要发出多个不同名称的 .apk,是不是每个都需要一个单独的项目?
【问题讨论】:
-
更好的答案是使用
Gradle(见下面我的答案),Android Studio 正式支持。更加动态(可以随意添加其他应用程序)。没有变量指定正在为哪个应用程序编码,只有一个主要活动和一个AndroidManifest,应该是这样。