news 2026/4/24 16:46:58

GMS测试环境搭建实战:从零开始配置Linux系统与必备工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GMS测试环境搭建实战:从零开始配置Linux系统与必备工具

1. 从零开始:Linux系统安装全攻略

第一次搭建GMS测试环境时,最让人头疼的就是Linux系统的安装。记得我刚开始接触时,光是选择系统版本就纠结了半天。这里分享一个实测稳定的方案:Ubuntu 18.04 LTS。这个版本不仅兼容性好,社区支持也完善,遇到问题容易找到解决方案。

制作启动盘是第一个实操环节。我推荐使用Rufus工具,它的操作界面非常直观。具体步骤是:插入至少8GB的U盘(建议用USB3.0接口的),打开Rufus后选择下载好的ISO镜像,分区类型选MBR(传统BIOS)或GPT(UEFI),文件系统保持FAT32,其他选项默认即可。点击开始后,大约10分钟就能制作完成。

安装过程中有几个关键点需要注意:

  • 在分区选择界面,建议勾选"擦除磁盘并安装Ubuntu",这样会自动完成分区
  • 时区选择"Asia/Shanghai",语言建议选英文(后续开发环境兼容性更好)
  • 创建用户时,密码要记牢,后面sudo命令都需要用到

安装完成后第一件事就是配置网络。如果是公司内网环境,建议联系IT部门获取静态IP地址。配置方法是在终端输入:

sudo nano /etc/netplan/01-netcfg.yaml

然后按照IT提供的IP地址、子网掩码、网关和DNS进行配置。保存后执行:

sudo netplan apply

网络连通后,建议立即更新系统:

sudo apt update && sudo apt upgrade -y

2. 基础环境配置:开发者的工具箱

系统装好后,我们需要准备一套"开箱即用"的开发环境。首先安装必备的系统工具:

sudo apt install -y net-tools curl wget git vim

这些工具就像厨师的刀具,没有它们什么都做不了。net-tools用于网络诊断,curlwget用于下载文件,git是代码管理必备,而vim则是Linux下的编辑神器。

接下来配置SSH服务,方便远程操作:

sudo apt install -y openssh-server sudo systemctl enable ssh sudo systemctl start ssh

这样就能用Putty等工具远程连接了。我习惯在本地保留一个备份配置:

cp ~/.bashrc ~/.bashrc_backup

这样即使改乱了配置也能快速恢复。

环境变量是另一个需要注意的地方。建议在~/.bashrc末尾添加:

export PATH=$PATH:/usr/local/bin export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

然后执行:

source ~/.bashrc

让配置立即生效。这些设置能让后续的工具安装和使用更加顺畅。

3. GMS测试核心工具链部署

GMS测试的核心是Android调试工具链。首先是ADB的安装,建议指定版本:

sudo apt install -y adb=1:8.1.0+r23-5ubuntu2

安装后检查版本:

adb version

应该显示1.0.41或更高版本。如果遇到设备识别问题,可以尝试:

sudo usermod -aG plugdev $LOGNAME sudo usermod -aG dialout $LOGNAME

AAPT工具用于分析APK包:

sudo apt install -y aapt

测试是否安装成功:

aapt dump badging /path/to/test.apk

JDK版本选择很关键,根据测试的Android版本不同而不同:

  • Android 10及以下:OpenJDK 9
  • Android 13及以下:OpenJDK 11
  • Android 14及以上:OpenJDK 17

安装命令示例:

sudo apt install -y openjdk-11-jdk

验证安装:

java -version javac -version

4. 进阶测试环境配置

对于需要运行VTS测试的情况,Python环境是必须的。建议使用Python3:

sudo apt install -y python3-dev python3-pip python3-venv

Protocol Buffers工具链安装:

sudo apt install -y protobuf-compiler python3-protobuf

虚拟环境配置(避免污染系统环境):

python3 -m venv ~/gms_test_env source ~/gms_test_env/bin/activate pip install --upgrade pip

如果需要兼容旧版Python2:

sudo apt install -y python2 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py sudo python2 get-pip.py

最后建议安装一些实用工具:

sudo apt install -y android-sdk-platform-tools android-sdk-build-tools

这些工具在后续的测试中会经常用到。

5. 常见问题排查与优化

环境搭建过程中最常遇到的就是网络问题。如果apt-get update失败,可以尝试更换源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo apt update

ADB设备识别问题也很常见。解决步骤:

  1. 检查设备是否开启USB调试模式
  2. 查看设备ID:
lsusb
  1. 创建规则文件:
sudo nano /etc/udev/rules.d/51-android.rules

添加内容:

SUBSYSTEM=="usb", ATTR{idVendor}=="你的厂商ID", MODE="0666"
  1. 重新加载规则:
sudo udevadm control --reload-rules sudo service udev restart

性能优化方面,建议:

  • 关闭图形界面(对测试机):
sudo systemctl set-default multi-user.target
  • 调整swappiness值:
sudo sysctl vm.swappiness=10
  • 禁用不必要的服务:
sudo systemctl disable bluetooth.service

6. 环境验证与测试准备

完成所有安装后,建议运行以下命令验证环境:

adb devices aapt v java -version python --version protoc --version

这些命令都应该能正确输出版本信息。

准备测试设备时要注意:

  1. 刷入符合要求的系统镜像
  2. 开启开发者选项和USB调试
  3. 如果是GMS设备,需要先通过认证

建议创建一个测试目录存放所有资源:

mkdir -p ~/gms_test/{tools,logs,results}

这样后续测试时文件管理会更加清晰。

最后提醒一点:所有安装的工具最好记录版本号,方便后续复现测试环境。可以用以下命令生成环境报告:

adb version > environment_report.txt aapt v >> environment_report.txt java -version 2>&1 | tee -a environment_report.txt
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 14:21:06

8路100G光纤怎么玩?基于TES818平台实战雷达信号处理与高速以太网测试

8路100G光纤实战:TES818平台在雷达信号处理与高速网络测试中的双场景应用 当一块搭载VU13P FPGA和ZYNQ SOC的硬件平台摆在工程师面前时,真正的挑战才刚刚开始。TES818平台凭借其8路100G光纤通道和异构计算架构,正在重新定义高速信号处理的边界…

作者头像 李华
网站建设 2026/4/11 14:07:24

3分钟掌握D2RML:暗黑2重制版多开终极指南

3分钟掌握D2RML:暗黑2重制版多开终极指南 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML 还在为暗黑2重制版繁琐的多账号登录而烦恼吗?D2RML(Diablo 2 Resurrected M…

作者头像 李华
网站建设 2026/4/11 14:07:11

从RAG到长文本分析:文本切分的场景化策略与实战

1. 文本切分技术的基础认知 第一次接触文本切分时,我像大多数开发者一样,以为这不过是用split()函数按空格切分字符串的简单操作。直到在真实项目中遭遇RAG系统召回率不足20%的惨案,才发现文本切分远非想象中那么简单。想象你正在玩拼图游戏—…

作者头像 李华