java - 加快 Android 构建过程

标签 java android maven build gradle

这真是一个菜鸟问题。我在一家公司工作,该公司开发了 100 多个使用大部分相同组件的应用程序。在构建时有一些小的定制,我们希望加快速度以提高效率。大多数定制是在运行时从服务器下载数据完成的。

我们完成一个项目.apk最快需要大约15分钟。此过程涉及更改包名称、图标和一些字符串资源。但是,当您每天处理 15-20 个应用程序时,它们可能会成为真正的时间 killer ,我宁愿花时间编写新代码。

我读过有关使用 Maven 或 Gradle 来简化构建过程的内容,但我不确定这是否是减少构建时间的最佳方法。坦率地说,我什至不知道它们是否是合适的工具。

有人可以向我解释一下使用这些工具之一是否可以实现我正在寻找的目标,或者是否有其他方法可以减少构建时间?任何建议将不胜感激。

最佳答案

采用一些命令行构建工具(例如 Maven 或 Ant)绝对是正确的方向,它使得使用 Unix/Windows shell 脚本进行批处理构建过程成为可能。

使用 maven-properties-plugin 和 android-maven-plugin 一起使用您需要的那些小的定制是很容易实现的。 android-maven-plugin 支持资源过滤。您可以将每个构建周期的自定义属性定义为多个属性文件,在构建过程中,android-maven-plugin可以从外部属性文件中读取这些值并替换AndroidManifest.xml和其他资源文件(如res/values/)中的这些值字符串.xml。 android-maven-plugin 还完全支持 Android 库项目,让您可以提取/集中常见的 android 代码并轻松管理它们。

假设您想从同一个 Android 项目构建 5 个 apk 发行版,这些发行版具有不同的包/应用程序名称、应用程序图标和 string.xml 中的一些资源,您可以创建 shell 脚本运行 mvn deploy 5 次,每次复制其中之一将您的customize.properties 和其他适当的icon.png 文件放入项目目录中并覆盖现有的。这为您提供了端到端的自动构建批处理,不需要任何人工交互。

您可以找到示例项目 MorseFlash检查 android-maven-plugin 使用的资源过滤。

关于java - 加快 Android 构建过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9371698/

相关文章:

android - Osmdroid map 旋转

java - 获取所有应用在android上的运行时间

java - Maven 找不到符号,但独立构建有效

java - Hashtable 上的 Collections.synchronizedMap(Map m)

android - 如何在android中获取访问 token paypal

java-尝试用 "&"替换 "&"但仍然看到未更改的文本

maven - 启动 svn blame 时 SonarQube 出错

java - 无法使用 Spring Boot 构建 Maven 项目

java - 使用 (for) 语句从 Json 数组获取数据到 Java 中的按钮

java - 避免类型转换的更好方法?