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

原文地址:https://www.cnblogs.com/weifeng1463/p/11455873.html

时间: 2024-10-13 16:01:00

Linux配置AndroidSDK&Jenkins远程部署的相关文章

[原]基于Telnet协议的Jenkins远程部署

最近奉命研究Jenkins的自动远程部署,刚开始进行还算顺利.但是,紧接着问题就来了,我们要部署的目标机器是Telnet协议的.而接触过jenkins的都知道,所有的插件里面只有用于本地部署的和基于SSH协议远程部署的,并没有一个是基于Telnet协议的.那么这该怎么解决呢? 当然,你也可以为你的目标机器安装SSH服务. 我先说说解决的思路,然后再附上具体的步骤和shell脚本. 思路:将jenkins安装在linux系统上 --->  SVN check out 部署的项目  --->  m

使用Jenkins远程部署war包到tomcat container

Jenkins首先使用maven将源代码进行编译打包,之后需要将war包传送到tomcat服务器上进行部署. 来看一下Jenkins的基本配置,首先需要安装插件"Deploy to container Plugin": 但是在安装插件时,Jenkins会先ping www.google.com这个域名来保证网络连通性 ,我们需要将其改为www.baidu.com,来使得检查阶段通过: 编辑Jenkins的配置文件default.json: 将connnectionCheckUrl改为h

Linux配置VNC实现远程图形化操纵

问题描述 有些时候需要用到图形化,其实可以通过其他途径实现.但是懒惰的就喜欢VNC,总的老说都是需要图形组件的 问题解决 在Centos测试 一.图形化的Linux 01.安装 rpm  ivh vnc-server*   --force 02.配置vncserver窗口密码 vncserver 03.配置启动参数 vi  ~/.vnc/xstartup 注释掉twm,添加桌面环境.如果是kde填写kde-session & #!/bin/sh # Uncomment the following

红帽Linux 配置VNC桌面远程工具

1.先确认VNC是否安装 默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上. 使用rpm命令检查是否安装了vnc,如果安装了就显示软件名称: [[email protected] /]# rpm -qa | grep vnc vnc-server-4.1.2-14.el5_6.6.x86_64 如果未安装就不会显示软件名称,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包vnc-server-4.1.2-9.el5.x86_64.

linux 配置tomcat运行远程监控(JMX)

在实际使用中,我们经常要监控tomcat的运行性能.需要配置相应的参数提供远程连接来监控tomcat服务器的性能.本文详细介绍如何一步一步的配置tomcat相应参数.允许远程连接监控. 工具/原料 vmware xshell jdk下jconsole插件 方法/步骤 首先确保linux下配置好java环境,即配置好tomcat以及jdk,并且能启动tomcat.编辑tomcat目录下/bin/catalina.sh文件. 在其中“# ----- Execute The Requested Com

Linux 配置免密码远程登录

前言 啃爹的教程,我再写一篇. 你需要搞清楚的是 1.搞清哪台linux主机登录哪台linux主机不需要密码? 2.两台主机用户名密码保持一致(建议这么做,尽管有root). about it 假如A Host 登录 B Host 不需要密码.那么你需要在 B Host上生成公钥.然后把公钥导入到 A Host.B Host 也要 导入B  Host 的公钥. id_rsa         :私钥    id_rsa.pub  :公钥 假设B Host 登录 A Host 不需要密码.就跟上面相

Linux配置Tomcat8080端口 远程无法访问解决办法

是因为Linux的防火墙没有开放8080端口 解决办法: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #开启8080端口 /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT #开启22端口 /etc/rc.d/init.d/iptables save #保存配置 /etc/rc.d/init.d/iptables restart #重启服务 查看已开放端口 /etc/init.d/

jenkins 远程部署失败 控制台部署成功

注意查看环境变量的设置,设置~.bashrc中的环境变量 linux 编写注意规范

jenkins(六)---jenkins远程部署脚本

/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *未经作者同意,禁止转载 */ 在远程主机上创建一个shell脚本放置在自定义路径中:这里我放置在/opt下面:取名叫auto_deploy.sh 即:auto_deploy.sh在远程主机上什么位置,上图中的 Exec command 中就要写到哪个位置. shell脚本怎么写可以自己定义:这里分享下自己写的脚本,以供参考: #!/bin/bash #Time log_time=`date +[%Y-%m-%d]%H:%M