Linux配置AndroidSDK&Jenkins远程部署
最近将公司的项目部署了Jenkins
持续集成,遇到了几个麻烦的点,其中之一就是将Android SDK
进行配置在远程服务器(总结下来还是自己对Linux命令还不够熟悉),特此记录。
- 系统: Ubuntu Server 16.04.1 LTS 64位
- 前置:完成
JDK
的环境搭建
1.下载SDK
点击进入下载网址 下载对应的 android-sdk_r24.4.1-linux.tgz
文件。
2.解压下载的压缩包
tar -zxvf android-sdk_r24.4.1-linux.tgz
3.安装32位库
Android SDK中的adb程序是32位的,Ubuntu x64系统需要安装32位库文件,用于兼容32位的程序:
sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
4.配置环境变量
export ANDROID_SDK_HOME=/home/XXX/android/sdk/android-sdk-linux
export PATH=$PATH:${ANDROID_SDK_HOME}/tools
export PATH=$PATH:${ANDROID_SDK_HOME}/platform-tools
通过 vim /etc/profile
查看 或 编辑 环境变量的配置(或者直接通过export
命令查看):
5.下载最新SDK工具
进入tools
目录下,输入./android -v list sdk
命令查看可下载更新的SDK
列表:
官方提供了一些参数供开发者选择性更新:
Action "update sdk":
Updates the SDK by suggesting new platforms to install if available.
Options:
-f --force Forces replacement of a package or its parts, even if something has been modified
-u --no-ui Updates from command-line (does not display the GUI)
-o --obsolete Installs obsolete packages
-t --filter A filter that limits the update to the specified types of packages in the form of a comma-separated list of [platform, tool, platform-tool, doc, sample, extra]
-s --no-https Uses HTTP instead of HTTPS (the default) for downloads
-n --dry-mode Simulates the update but does not download or install anything
上述参数通过android update sdk --filter <component> --no-ui
命令进行 组件 的过滤性筛选。
笔者选择了简单粗暴,直接通过android update sdk --no-ui
命令下载所有版本的sdk。
6.将sdk配置到Jenkins
打开Jenkins
的 系统配置界面,将对应的SDK根目录配置给环境变量:
7.构建错误处理
缺少License
错误日志:
What went wrong:
A problem occurred configuring project ':xxx'.
Failed to install the following Android SDK packages as some licences have not been accepted.
build-tools;27.0.3 Android SDK Build-Tools 27.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
解决方案:
将本地sdk目录下的licenses
文件夹中的License文件传到远程服务器中:
对应版本的SDK Build-Tools不存在
错误日志:Failed to install the following SDK components:
build-tools;27.0.3 Android SDK Build-Tools 27.0.3
The SDK directory is not writable (/home/sdk/android-sdk-linux)
解决方案,更新对应的BuildTools版本:
查看所有版本列表:
./android list sdk -a
更新对应的27.0.3版本:
android update sdk -u -t 7 -a
Linux配置AndroidSDK&Jenkins远程部署的更多相关文章
- Jenkins远程部署SpringBoot应用
一般Web工程通过Jenkins远程部署到Tomcat,可以采用Maven的tomcat-maven-plugin插件进行部署.最近接触到Spring Boot工程的部署,由于Spring Boot应 ...
- [原]jenkins(六)---jenkins远程部署脚本
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...
- publish over ssh 实现 Jenkins 远程部署
Jenkins远程部署,一开始没有任何头绪,想了很多方案. 因为两台机器都是windows系统,所以想到publish over cifs, 但是这个网上资料太少,貌似只能内网使用.又想到了Jenki ...
- 使用Jenkins远程部署war包到tomcat container
Jenkins首先使用maven将源代码进行编译打包,之后需要将war包传送到tomcat服务器上进行部署. 来看一下Jenkins的基本配置,首先需要安装插件"Deploy to cont ...
- Jenkins 远程部署
参考:https://www.cnblogs.com/bookwed/p/4583033.html 准备环境: 本地开发,安装虚拟机,在虚拟机安装Linux服务器 步骤: 1.安装插件,登录到Jenk ...
- Linux配置VNC实现远程图形化操纵
问题描述 有些时候需要用到图形化,其实可以通过其他途径实现.但是懒惰的就喜欢VNC,总的老说都是需要图形组件的 问题解决 在Centos测试 一.图形化的Linux 01.安装 rpm ivh vn ...
- linux 配置tomcat运行远程监控(JMX)
在实际使用中,我们经常要监控tomcat的运行性能.需要配置相应的参数提供远程连接来监控tomcat服务器的性能.本文详细介绍如何一步一步的配置tomcat相应参数.允许远程连接监控. 工具/原料 v ...
- 红帽Linux 配置VNC桌面远程工具
1.先确认VNC是否安装 默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上. 使用rpm命令检查是否安装了vnc,如果安装了就显示软件名称: [root@ ...
- linux配置mysql数据库远程连接失败
今天配置linux下mysql数据库可以远程访问的问题,百度这方面的资料有很多,但是方法都一样,都试过了却未能解决,记录一下 第一步:在/etc/mysql/my.cnf下找到bind-address ...
随机推荐
- JS获取访客IP进行自动跳转
因业务需要进行地区判断跳转指定站点,下面是我个人实现的办法,分享给大家,仅供参考,切勿做非法用途 第一步,获取IP并判断归属地 直接使用搜狐的IP库查询接口 <script type=" ...
- linux中如何升级Python
一.使用wget 下载Python 安装包 我是在虚拟中当中安装的: wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 报错: ...
- js 数组 : 差集、并集、交集、去重、多维转一维
//input:[{name:'liujinyu'},{name:'noah'}] //output:['liujinyu','noah'] Array.prototype.choose = func ...
- Tips on Blind Source Separation
盲源分离是指在不知道源信号和信道传输参数的情况下,根据输入信号的统计特性,仅由观测信号恢复出源信号各个独立成分的过程.盲源分离研究的信号模型主要有三种:线性混合模型.卷积混合模型和非线性混合模型. 1 ...
- python接口自动化—封装获取常量的类
背景: 一.执行case的过程: 首先需要,我们能够通过excel获取单元格的内容.获取内容时,首先需要知道获取的数据是哪一行的,这行数据中需要拿那些参数,比如case 名称.请求url.请求方式.h ...
- springboot(三)
SpringBoot 整合JdbcTemplate 1.创建一个springboot_jdbc项目 2.导入依赖 <dependency> <groupId>org.spri ...
- telegraf 学习二 几个概念
telegraf 自身包好了自己处理metrics 的数据模型,以及出炉方法 metrics Telegraf指标是用于在处理期间对数据建模的内部表示.这些指标完全基于InfluxDB的数据模型,包含 ...
- Cocos Creator 功能介绍
cc.Class({ extends: cc.Component, properties: { anim: cc.Animation }, playRun: function() { this.ani ...
- numpy.linalg.svd函数
转载自:python之SVD函数介绍 函数:np.linalg.svd(a,full_matrices=1,compute_uv=1) 参数: a是一个形如\((M,N)\)的矩阵 full_matr ...
- centos硬件查询
1.cpu个数: [root@localhost ~]# cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -lcpu核心数: ...