热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

这应该是最全的JenkinsAndroid自动打包构建教程

环境搭建JDK下载与配置环境变量SDK下载与配置环境变量GIT下载与配置环境变量Jenkins下载与安装。本篇着重讲如何配置Jenkins,前三个配置就不一一赘述,详情请百度。搭建

环境搭建

  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说明则证明配置成功

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

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

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

《这应该是最全的Jenkins Android自动打包构建教程》 Jenkins首页.png

找到全局工具配置

《这应该是最全的Jenkins Android自动打包构建教程》 全局工具.png

  1. 配置JDK

《这应该是最全的Jenkins Android自动打包构建教程》 JDK配置.png

  1. git配置

《这应该是最全的Jenkins Android自动打包构建教程》 git配置.png

  1. gradle配置

《这应该是最全的Jenkins Android自动打包构建教程》 gradle配置.png

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

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

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

《这应该是最全的Jenkins Android自动打包构建教程》 系统设置.png

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

《这应该是最全的Jenkins Android自动打包构建教程》 2ECB85DBB34566AF3893ABED04C26365.png

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

新建无参数任务

  1. 新建任务

    《这应该是最全的Jenkins Android自动打包构建教程》 新建任务.png

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

    《这应该是最全的Jenkins Android自动打包构建教程》 配置工作区.png

  3. 配置代码git仓库

《这应该是最全的Jenkins Android自动打包构建教程》 配置代码git仓库.png

  1. 配置构建

    《这应该是最全的Jenkins Android自动打包构建教程》 开始构建.png

配置GradleWrapper

《这应该是最全的Jenkins Android自动打包构建教程》 构建选择gradle配置wrap路径执行命令.png

配置root build script 路径

《这应该是最全的Jenkins Android自动打包构建教程》 配置build的路径.png

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

新建带参数任务

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

《这应该是最全的Jenkins Android自动打包构建教程》 参数化构建.png

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

《这应该是最全的Jenkins Android自动打包构建教程》 参数配置.png

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

《这应该是最全的Jenkins Android自动打包构建教程》 Jenkins使用参数.png

在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"

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

clean
assembleRelease -PJAR_VERSION_NAME=${JAR_VERSION_NAME} }

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

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

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

《这应该是最全的Jenkins Android自动打包构建教程》 构建其它项目.png

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

其它

Jenkins工具包下载:
点击下载

提取密码: 3zr5


推荐阅读
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
author-avatar
mobiledu2502923581
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有