Android自动化打包工具,利用Jenkins实现Android自动化打包

Jenkins简介

What is Jenkins?

Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.

Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed

简单来说Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时Jenkins能实现监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。Jenkins的前身是Hudson,是一个可扩展的持续集成引擎。

需要安装的环境

Jenkins、Tomact、JDK、AndroidSdk、Gradle、Git、SVN

其中 Tomact、JDK、AndroidSdk、Gradle、Git、SVN 这些环境配置不在赘述,这里只讲 Jenkins 的相关配置及简单使用

Jenkins安装

在Jenkins官网下载安装包,其中有两种规格:

如下图所示,Long-term Support (LTS) 和 Weekly,其实就是一个是稳定版本,一个频繁更新的尝鲜版本,一般选用稳定版即可

177376ff2a0d

image.png

这里需要下载两个文件:

下载各个平台对应的版本的 Jenkins 程序包并执行对应的安装操作 (Windows / Linux / Mac 均支持)

下载 Generic Java package (.war) 文件,下载后把 .war 包放在 Tomcat 的 webapps 目录下,启动Tomcat。

初始化配置

按照上述操作启动完 Tomcat 后此时在浏览器中访问 http://localhost:8080/jenkins 即可进入jenkins 的页面,首次进入会给你生成一个默认 admin 用户的密码,按照提示路径获取密码输入即可

177376ff2a0d

image.png

随后会提示你安装插件,选择左侧安装默认推荐的插件即可

177376ff2a0d

image.png

到用户名设置界面。这个界面你有两个选择可以操作

直接点击 使用admin账户继续 ,默认此时的超级管理员为 admin

输入用户名,密码,确认密码,全名,电子邮件地址,然后点击 保存并完成 创建一个新的管理员用户

177376ff2a0d

image.png

随后便进入 jenkins 首页,都是中文,简单直观

177376ff2a0d

image.png

Android 打包相关配置

点击 系统管理 --> 全局工具配置

177376ff2a0d

image.png

在这里进行 JDK、Git、Gradle 的配置,设置你本地对应的路径即可

177376ff2a0d

截图.png

完事儿点击左下角 Apply 应用即可,随后返回主页再次 进入 系统管理 --> 系统设置

177376ff2a0d

截图 (1).png

在下边全局属性设置中增加一对儿 ANDROID_HOME 的环境变量,完事儿点击左下角 Apply 应用即可

177376ff2a0d

截图 (2).png

创建打包任务

点击左上角 “新建任务”,如下图

177376ff2a0d

截图 (3).png

之后就可以在这个页面进行任务的自定义配置了,包含参数化构建,源码管理,构建脚本设置及定时构建等你想要的一切骚操作~

下面以 SVN 为源码管理为例,进行一个最基本的安卓工程打包任务配置:

在此处点击 “”高级” 自定义工程工作空间

177376ff2a0d

截图 (4).png

177376ff2a0d

截图 (5).png

“源码管理选择 svn 并配置 源码地址及添加 svn 用户”

177376ff2a0d

截图 (6).png

点击 add 添加 svn 用户名及密码

177376ff2a0d

截图 (7).png

在下边“构建”选择 Gradle 脚本

177376ff2a0d

截图 (8).png

177376ff2a0d

截图 (9).png

完事儿点击左下角 Apply 应用即可,此时一个最简单的 Android 工程打包任务就创建并配置完成了

然后返回任务页面,选择“立即构建”即可,下方可以查看构建过程中的控制台输出信息,等待构建成功即可。

177376ff2a0d

截图 (10).png

本次记录到此结束,jenkins 更多强大的功能还有待继续探索~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python实训总结万能版3000字_实训总结万能版2000字范文五篇

实训总结万能版2000字范文篇一一、实训目的:通过这次人力资源管理模拟实训,让我们掌握职务说明书格式、编制应聘登记表、制定招聘程序、编写招聘广告、编制面试评估表、制定招聘计划书等人力资源管理的一些相关理论知识,弄清楚其中的关系连接…

为什么简单的删除集合中的元素竟然报错了?

作者 | 七十一来源 | 程序员巴士前言什么是快速失败:fail-fast 机制是java集合(Collection)中的一种错误机制。它只能被用来检测错误,因为JDK并不保证fail-fast机制一定会发生。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fas…

一文详解Redis中BigKey、HotKey的发现与处理

简介: 在Redis的使用过程中,我们经常会遇到BigKey(下文将其称为“大key”)及HotKey(下文将其称为“热key”)。大Key与热Key如果未能及时发现并进行处理,很可能会使服务性能下降、用户体验变差&a…

android动画文档,Android 动画系统汇总

Android动画系统的种类:1. 属性动画 (Property Animation)2. 补间动画 (Tween Animation)3. 帧动画 (Frame Animation)4. Drawable属性动画(Property Animation):可以改变控件对象属性的对象,譬如控件的位置,透明度&#xff0…

阿里云CDN操控2.0版本正式发布

简介: 2021年8月,阿里云边缘云CDN完成过去3年来最大的一次版本升级。 2021年8月,阿里云边缘云CDN完成过去3年来最大的一次版本升级。本次升级根据上万企业客户的使用反馈和行业应用特征,从简单开通到个性化定制,从内容…

用python怎么样实现图像二值化_使用Python+OpenCV如何实现图像二值化

使用PythonOpenCV如何实现图像二值化发布时间:2020-10-26 14:15:52来源:亿速云阅读:77作者:蛋片鸡这篇文章运用简单易懂的例子给大家介绍使用PythonOpenCV如何实现图像二值化,内容非常详细,感兴趣的小伙伴们…

向xxxhub发了一个数据包,发现了···

作者 | 轩辕之风来源 | 编程技术宇宙那天,我突然想到一个问题:当我访问那个让万千宅男程序员为之着迷的GitHub时,我电脑发出的数据包是如何抵达大洋彼岸的GitHub服务器的呢,这中间又要经过哪些节点呢?让我们一起来探究…

使用 Flink Hudi 构建流式数据湖

简介: 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型的不断优化演进。 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型不断优化演进。用户可以通过 Flink SQL 将 CDC 数据实时写入 Hudi 存储,且在即将…

android获取版本号报错,Android开发:获取安卓App版本号的方法步骤

在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多,而且iOS版的App版本信息跟Android的还不一样。本篇…

运营也用的起来的数据分析工具:Quick BI即席分析详解

简介: 数据部门是一个容易被投诉的“高危”部门,需求响应慢、数据准确性不高会影响业务的发展。 然而数据分析师每周动辄就有几十个需求在手,无限的加班也无法解决所有问题,到底怎样才能改变BI分析师的需求响应问题呢?…

腾讯云连续四年排名中国音视频解决市场第一,头部厂商中RTC增速第一

1月11日,记者了解到,国际数据公司(IDC)发布的《中国视频云市场跟踪(2021上半年)》(下简称“报告”)显示,2021上半年中国视频云市场规模达到43.7亿美元,同比增长达到38.7%。其中,音视频解决方案市…

iphone版 天行skyline_SkyLine

1、创建私钥openssl dsaparam -out dsaparam.pem 2048; openssl gendsa-out privkey.pem dsaparam.pem​2、创建证书请求文件csr(根据提示填内容)openssl req -new -key privkey.pem -out cert.csr3、创建证书​openssl req -new -x509 -key privkey.pem -out cacert.pem-days …

【产品动态】解读Dataphin流批一体的实时研发

简介: Dataphin作为一款企业级智能数据构建与管理产品,具备全链路实时研发能力,从2019年开始就支撑可集团天猫双11的实时计算需求,文章将详细介绍Dataphin实时计算的能力。 背景 每当双11全球购物狂欢节钟声响起,上千…

android实现10ms定时器,Android三种实现定时器的方法

方法一、使用Handler和Thread(线程)实现定时器package com.xunfang.handerDemo;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.TextView;public class HanderDemoActivity extends Activi…

springboot设置默认值_spring boot jpa存储数据的默认值为java的默认值

问题描述使用jpa的save方法保存数据后返回的实体类为java数据类型的默认值问题出现的环境背景及自己尝试过哪些方法环境背景: 用户新增功能,调用新增接口后根据返回对象的id去查询等级表的等级.尝试方法:最开始返回的是null,但是数据库的字段默认值设置的是1,后来实体类加上Dyn…

Aruba与中国电信国际有限公司达成战略合作 助力中国企业扬帆出海

2022年1月12日,慧与科技公司 (NYSE: HPE) 旗下Aruba日前宣布,与中国电信国际有限公司(CTG)签署MSP(托管服务运营商)战略合作伙伴协议,Aruba的产品将纳入中国电信国际有限公司的主营产品线。协议…

模仿Spring实现一个类管理容器

简介: 项目的初衷是独立作出一个成熟的有特色的IOC容器,但由于过程参考Spring太多,而且也无法作出太多改进,于是目的变为以此项目作为理解Spring的一个跳板,与网上的一些模仿Spring的框架不同,本项目主要是针对注解形式 概述 项目的初衷是独立作出一个成熟的有特色…

nginx python cgi_Python的CGIHTTPServer交互实现详解

介绍对于服务器后端开发者而言,有时候需要把自己的一些服务直接暴露给PM或者其他RD使用,这个时候需要搭建一套web服务可以和前端用户做简单交互,按照最常规的做法,一般是用Apache或者Nginx作为webserver后端使用cgi或者fcgi程序或…

湖仓一体化的路,很多人都只走了一半

2022已至,如果回看2021,这一年无疑是数据的价值进一步体现的一年。数据应用场景不断丰富,从工业、交通、金融到制造,几乎无处不在。当然,数据价值的迅速提升也给开发者和相关企业带来了新的问题。数据量的爆发让存储成…

学术顶会再突破!计算平台MaxCompute论文入选国际顶会VLDB 2021

简介: VLDB 2021上,阿里云计算平台MaxCompute参与的论文入选,核心分布式调度执行引擎Fangorn、基于TVR Cost模型的通用增量计算优化器框架Tempura等分别被Industry Track、Research Track录取。 一、顶会概览 VLDB 2021上,阿里云…