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

Ori*_*ish 3 java android intellij-idea

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

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

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

pio*_*hen 5

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

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

Gradle构建系统

在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.对于个人开发者来说,这也是一个不错的选择.我不确定如何*.apk在Travis CI上生成带有文件的工件,但我想它可以完成,你总是可以请求支持来帮助你.当然,工件可以在Jenkins CI工作中存档.