如何自动化Android应用程序构建

时间:2015-10-20 08:10:35

标签: java android intellij-idea

让我们假设我在IntelliJ中有一个android项目 现在,我正在更改strings.xml资源文件的一些细节,每次更改后我都会构建一个新的apk。

我想创建一个自动构建apk文件的第二个程序。
我可以更改strings.xml文件的参数,然后自动构建而无需访问IntelliJ,是否可以?它只与Java语言有关吗?或者我可以用C#或任何其他语言构建它吗?

我确实读过关于Maven和Ant的内容,但我不知道如何正确使用它们,我想要一个能够引导我一些示例或教程的答案,谢谢!

1 个答案:

答案 0 :(得分:5)

常见的方法是使用三件事:

  • 构建系统(Ant,Maven或Gradle) - 适用于Android应用程序Gradle 成为标准
  • 版本控制系统(例如Git)
  • 持续集成服务器(Jenkins,Travis或 其它)

Gradle Build System

在Android Studio中创建默认项目时,您已经使用Gradle创建了它。 Android Studio还允许您将项目从Ant转换为Gradle。我无法解释你,如何在一篇文章中使用Gradle,因为它可以是整篇文章甚至是书。基本上,您有build.gradle文件,您可以在其中定义项目中的依赖项并构建配置。您可以在系统中安装Gradle,但最好的做法是使用Gradle Wrapper,它是一个*.jar文件,可以用来构建您的应用程序。使用Gradle配置项目后,可以从命令行构建它,如下所示:

./gradlew build

在MS Windows上:

gradlew.bat build

持续集成服务器

当您使用Gradle配置项目时,可以将其源代码推送到Git存储库,并在Continuous Integration服务器上创建一个作业,该服务器将负责构建项目。在构建中,您可以使用已编译的*.apk文件创建工件,执行测试并运行静态代码分析。您可以通过Git提交挂钩或通过持续集成服务器上的轮询来触发您的作业。它取决于所选择的技术堆栈,但它可以自动化。

如果您需要大量的自定义和免费解决方案,Jenkins CI将是一个不错的选择,但您必须自己配置很多东西并自己配置主机服务器。在我看来,当你有适当的基础设施和时间进行设置时,这样的选择在团队项目中是有意义的。如果您想要一个简单的配置,并且您愿意花钱或创建一个开源项目,我推荐使用GitHub和Travis CI。对于个人开发者来说,这也是一个不错的选择。我不确定如何在Travis CI上使用*.apk文件生成工件,但我想它可以完成,您可以随时请求支持人员帮助您。当然,工件可以在Jenkins CI工作中存档。