基于Ubuntu搭建GMS测试环境
一、版本信息:
系统版本:Ubuntu 18.04.2 LTS
JDK版本: 1.8.0_171
SDK版本:android-sdk_r24.4.1-linux.tgz
ADB版本:1.0.40
apktool版本:2.4.0
aapt(Android Asset Packaging Tool)版本:v0.2-eng.ibotpe.20190216.092407
二、安装JDK
#sudo add-apt-repository ppa:openjdk-r/ppa
#sudo apt-get update
#sudo apt-get install openjdk--jdk
安装完成后,输入java -version,检查环境是否OK,如下:

三、安装SDK
1、下载最新SDK版本(点击链接进入下载页面),本文使用android-sdk_r24.4.1-linux.tgz,手动解压,会得到android-sdk-linux文件夹,本文放置到/home/amlogic/sdk下,如下:

2、进入tools文件夹,运行./android

3、选择安装最新的工具,一般默认即可,点击"install 8 packages"

4、添加SDK环境变量
<第一种方法>
#sudo gedit ~/.bashrc
//打开文件后,末尾添加如下信息(SDK路径改成实际路径):
export ANDROID_SDK=/home/amlogic/sdk/android-sdk-linux
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
//保存退出后,使环境生效
#source ~/.bashrc
<第二种方法>
#su
//SDK路径改成实际路径
#echo 'export ANDROID_SDK=/home/amlogic/sdk/android-sdk-linux' >> ~/.bashrc
#echo 'export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools' >> ~/.bashrc
//使环境生效
#source ~/.bashrc
5、验证是否安装ok,输入adb version,如下:

四、安装32 位类库
#sudo apt-get install lib32ncurses5 lib32z1 libstdc++:i386 -y
五、安装minicom
//非必需,如果使用串口工具调试则安装
#sudo apt-get install minicom -y
六、安装apktool:
官网教程:点击链接:
1、下载apktool脚本:apktool (右键点击, 保存链接为文件,文件名保存为apktool,无后缀)
2、下载最新apktool.jar (点击进入),将下载的最新.jar文件重命名为apktool.jar(例如:apktool_2.4.0.jar改为apktool.jar)
3、将apktool和apltool.jar放置到/usr/local/bin目录下
4、更改文件权限
#su
#chmod /usr/local/bin/apktool
#chmod /usr/local/bin/apktool.jar
5、检查apktool环境:
#apktool -version
七、安装aapt工具
1、解压第六步下载的apktool.jar解压,提取解压后apktool/prebuilt/linux/目录下的aapt文件
2、将aapt放置到/usr/local/bin
3、设置权限:
#chmod /usr/local/bin/aapt
4、验证aapt环境:
#aapt version
八、VTS环境(若测试CTS/CTS-ON-GSI/GTS/STS无需配置此项)
1、Install Python development kit:
#sudo apt-get install python-dev
2、Install Protocol Buffer tools (for Python):
#sudo apt-get install python-protobuf
#sudo apt-get install protobuf-compiler
3、Install Python virtual environment-related tools:
#sudo apt-get install python-virtualenv
#sudo apt-get install python-pip
//更新到最新
#sudo pip install --upgrade pip
#sudo pip install --upgrade virtualenv
4、(Optionally) Download Python packages from PyPI to a local directory:
(1) 在合适位置建立VTS_PYPI_PATH文件夹
(2) 将VTS_PYPI_PATH路径加入环境变量后配置环境
#sudo gedit ~/.bashrc
//打开文件后,末尾添加如下信息(VTS_PYPI_PATH路径改成实际路径):
export VTS_PYPI_PATH=/home/amlogic/VTS_PYPI_PATH
//保存退出后,使环境生效
#source ~/.bashrc
#curl https://android.googlesource.com/platform/test/vts/+/master/script/pip_requirements.txt?format=TEXT | base64 -d > pip_requirements.txt
#pip download -d $VTS_PYPI_PATH -r pip_requirements.txt --no-binary protobuf,grpcio,matplotlib,numpy,Pillow,scipy
九、开始测试(以CTS为例)

4、至此,ubuntu android GMS环境搭建完成,测试方法另述
基于Ubuntu搭建GMS测试环境的更多相关文章
- Centos7安装Docker 基于Dockerfile 搭建httpd运行环境
Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...
- 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- 基于Ubuntu 搭建 WordPress 个人博客 - 开发者实验室 - 腾讯云
1.准备 LAMP 环境 安装 Apache2 在终端输入该命令 ,使用 apt-get 安装 Apache2: sudo apt-get install apache2 -y 安装好后,您可以通过访 ...
- Docker-教你如何通过 Docker 快速搭建各种测试环境
今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通 ...
- Ubuntu 搭建PHP开发环境
Ubuntu确实很好玩.有喜欢的命令行,简洁的界面,不同于Window要的感觉.偶尔换换环境工作,学习Linux的思维方式,是一种不错的做 法.之前也折腾过Ubuntu,不过,因为网络的问题,一直没有 ...
- 使用XAMPP和DVWA在Windows7上搭建渗透测试环境
前言: XAMPP是一个Web应用程序运行环境集成软件包,包括MySQL.PHP.PerI和Apache的环境及Apache.MySQL.FilleZilla.Mercury和Tomecat等组件.D ...
- 使用WampServer和DVWA在Windows10上搭建渗透测试环境
前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...
- 使用Rancher搭建K8S测试环境
使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...
- 利用Docker Compose快速搭建本地测试环境
前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...
随机推荐
- 在Asp.Net Core中使用Session
1.在Stratup.cs中配置Session public void ConfigureServices(IServiceCollection services) { services.AddSes ...
- Python编写登陆接口
实现功能: 输入用户名和密码 认证成功后显示欢迎信息 输错三次后锁定 # 提示输入用户名和密码 # 验证用户名和密码 # 如果错误,则输出用户名或密码错误 # 如果成功,则输出 欢迎,XXX! #!/ ...
- enginefuncs_t 结构体中的函数
就是常见的 g_engfuncs 中的函数.AMXX 里就是 fakemeta 的 EngFunc_** // 这些函数由引擎提供给EXTDLL使用.mp.dll hl.dll ... typedef ...
- C++ STL 常用查找算法
C++ STL 常用查找算法 adjacent_find() 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器.否则返回past-the-end. ...
- MT【155】单调有界必有极限
(清华2017.4.29标准学术能力测试20) 已知数列$\{a_n\}$,其中$a_1=a$,$a_2=b$,$a_{n+2}=a_n-\dfrac 7{a_{n+1}}$,则_______ A.$ ...
- swift网络数据请求方法
搭建一个apache服务器,用php编写一个返回给客户端请求数据的脚本 <?php // header("Content-type:text/html;charset=utf-8&qu ...
- Linux及安全实践四——ELF文件格式分析
Linux及安全实践四——ELF文件格式分析 一.ELF文件格式概述 1. ELF:是一种对象文件的格式,用于定义不同类型的对象文件中都放了什么东西.以及都以什么样的格式去放这些东西. 二.分析一个E ...
- 安装logstash5.4.1,并使用grok表达式收集nginx日志
关于收集日志的方式,最简单性能最好的应该是修改nginx的日志存储格式为json,然后直接采集就可以了. 但是实际上会有一个问题,就是如果你之前有很多旧的日志需要全部导入elk上查看,这时就有两个问题 ...
- Linux使用vim进行多文件查找和替换的方法
vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法. 在linu ...
- bzoj 3928: [Cerc2014] Outer space invaders
$f[i][j]$表示消灭起始时间在$(i,j)$内的外星人所花费的最小代价. 考虑在这个区间内距离最远的外星人h,在他的区间中一定要选一个点要开一炮,而且这一炮可以顺便把其他跨过这个点的敌人消灭,剩 ...