本系列代码地址 github
- 这是一个持续完善的文档,若您有什么问题,意见或者建议,请给我留言,我会进行修正。
- 在这个系列,不会一开始就介绍Groovy相关的一些概念,而是跟着项目走,遇到什么概念就介绍什么概念。
目录
- 创建task
- task简介
- task的依赖关系
- 完成蒲公英的上传功能
- 完成企业微信的消息通知功能
- 格式化蒲公英上传的文本和微信消息通知的文本
- 对编译时间的统计-未完成
- 生成渠道包-未完成
- gradle project介绍-未完成
- gradle 常用命令
Gradle简介
Gradle是一种声明式的构建工具。在执行时,Gradle并不会一开始便顺序执行build.gradle文件中的内容,而是分为两个阶段,第一个阶段是配置阶段,然后才是实际的执行阶段。在配置阶段,Gradle将读取所有build.gradle文件的所有内容来配置Project和Task等,比如设置Project和Task的Property,处理Task之间的依赖关系等。
Groovy语言简介
Gradle的DSL是由Groovy实现的,它提供了基于Java的语法糖。结果就是产生了一种具有可读性和表达性的构建语言。所有你写的脚本都是Groovy。能够用编程语言来表达你需要的构建是Gradle的一大亮点。你不必成为Groovy的专家才能开始写脚本。因为Groovy是在Java的基础上实现的,你可以通过尝试使用Groovy的语言特性来逐步迁移。你甚至可以完全用Java代码来编写定制逻辑。
总结来说就是一下几点:
- 基于Gradle的构建脚本是用Groovy语言写的
- Groovy是基于Java的
- Groovy兼容Java的语法,即在构建脚本编写的时候,你既可以用Groovy语法,也可以用Java语法。
打包功能的功能介绍和使用方法
该工具提供几个Gradle任务,如下图:

每个任务生成不同服务器环境的包,比如说我现在要生成一个测试环境的包,就直接双击“publishTestRelease”这个task,等待任务执行。
该任务会执行三个步骤。
第一步
生成一个测试环境的apk包
第二步
将生成的apk上传到蒲公英,如下图:

第三步
发送消息到企业微信群,通知相关人员,特别是测试人员,有新包了,如下图:

和jekins的对比
Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时Jenkins能实现监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。Jenkins的前身是Hudson,是一个可扩展的持续集成引擎。
Jenkins实现Android的持续集成
- 首先你得需要一台服务器
- 在这台服务器上安装环境(linux,java,tomcat,git,jekins,android sdk,android ndk,gradle......)
- 配置jekins打包android的规则
要完成这套操作,引用其他作者的一句话:
Jenkins这东西搭建起来真是一点也不省心啊,看着别人的教程摸着石头过河,配置的东西有点多啊,稍有不慎,就构建不成功啦!即使步骤跟别人一样也会报各种乱七八糟的错误啊哈哈,这东西只能佛系搭建。在经历几十次的随缘构建之后,终于构建成功啦~~好感人!眼泪掉下来。。。。。。
而且用Jekins费力不说,还没有脚本自己实现来的灵活。