这应该是最全的Jenkins Android自动打包构建教程了

环境搭建

  1. JDK下载与配置环境变量
  2. SDK下载与配置环境变量
  3. GIT下载与配置环境变量
  4. Jenkins下载与安装。

本篇着重讲如何配置Jenkins,前三个配置就不一一赘述,详情请百度。

搭建步骤

检查环境变量是否都配置正确。

1.环境变量检查

win运行cmd,输入

java -version

查看是否输出java version,如果输出成功则证明配置JDK正确。

win运行cmd,输入

adb start-server

查看是否成功启动adb server,如果成功则证明SDK配成功

win运行cmd,输入

git

如果出现git usage说明则证明配置成功

2. 解压工具包,按照向导安装Jenkins。安装向导推荐的插件。插件安装完在已安装的列表中查看是否已经安装了Android Lint Plugin,Gradle Plugin, Git plugin插件。

3. 配置Jenkins的全局工具配置

  • 进入jenkin首页,如下图,点击系系统管理。

找到全局工具配置

4. 配置JDK

5. git配置

6. gradle配置

注意:此处配置的gradle版本必须与所构建的项目一致。另外路径不能过长,否则后面编译会导致AAPT的错误(建议将对应版本gradle移动到某个盘的根目录中,或者直接使用项目自带的gradle在编译时进行下载)。

7. 配置全局的SDK路径如下图

左边找到系统管理,然后点击下图所示的系统设置

找到环境变量配置,添加Android Sdk的配置,==路径需要改为自己的SDK路径==

环境变量到这里就配置完毕了。

新建无参数任务

1. 新建任务

2. 添加描述,点击高级设置配置工作区

3. 配置代码git仓库

4. 配置构建

配置GradleWrapper

配置root build script 路径

5. 点击保存应用。 6. 点击立即构建,就可以完成自动打包的任务。

新建带参数任务

1. 和无参任务一样先创建一个自由风格的构建项目 2. 选择参数化构建过程

3. 构建参数,与build.gradle中获取的方式。

如上图,以选项参数以及文本参数为例。在Jenkins中定义的参数可以使用"${parameterName}",例如Jenkins选择分支时就可以使用此参数:

在Andrid项目中如何获取对应的参数呢?因为Jenkins打包时会把参数侵入到项目中,在app包名下的build.gradle中可以这样获取上述的JAR_VERSION_NAME:

def defaultName = "2.04.11"
def jarVersionName = project.hasProperty('JAR_VERSION_NAME') ? JAR_VERSION_NAME : defaultName

注意:boolean参数使用选项参数来代替,在gradle3.3版本中运行时此参数会获取不准确。

def needNewsSdk = project.hasProperty('NEED_NEWS_SDK') ? NEED_NEWS_SDK : "false"
boolean isNeedNewsSdk = needNewsSdk == "true"

4. 其它过程同无参数任务一致,在执行Gradle脚本时需要将参数带到命令中。

clean
assembleRelease -PJAR_VERSION_NAME=${JAR_VERSION_NAME} }

注意:参数名使用-P来开头,P为大写

构建完后构建其它项目,且带有参数。

  1. 需要安装插件Parameterized Trigger plugin,在系统管理-插件管理-可安装选项里面检索此插件安装并重启Jenkins(重启方法在Jenkins后面地址后面加上/restart
  2. 在构建或者构建后操作选项里面(因Jenkins版本不同,此插件的位置也不同)找到:

填入要构建的下个项目名,并添加参数,可以选择当前任务的参数如上图。

最后

如果你觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券