澳门新葡亰信誉平台游戏GMS认证-Android VTS测试

by admin on 2020年3月14日

虽然谷歌在今年发布安卓9.0系统之后,智能手机厂商对旗下手机进行适配的速度已经加快了,目前已经有不少机型都已经可以升级到最新的安卓系统。不过,在谷歌十月底公布的安卓系统各版本的市场份额数据中,最新的Android
Pie系统占比仍然不足0.1%。

1、VTS简介

VTS的全称是 Vendor Test Suite(供应商测试套件)。

对于安卓系统的普及速度问题,一直以来是谷歌头疼安卓系统的问题之一。在Project
Treble之后,谷歌似乎想要通过新的Pie-GSI来让安卓系统用户提前尝鲜Android
Q。

为何引入VTS测试?

目前Android的系统升级是很麻烦的,为了能更快的将设备升级到新的Android版本,Android
O 开始新引入了 Project Treble,Project Treble 适用于搭载 Android O
及后续版本的所有新设备。

Android 7.x
及更早版本中没有正式的Vendor层接口,因此每次更新系统都相对耗时和困难:

澳门新葡亰信誉平台游戏 1

treble_blog_before.png

Android O 之后,Treble 提供了稳定的Vendor层接口,供设备制造商访问
Android
代码中特定于硬件的部分,这样就可以只更新框架层,减少升级系统带来的成本和困难:

澳门新葡亰信誉平台游戏 2

treble_blog_after.png

为了确保Vendor层实现的前向兼容性,新的Vendor层接口会由澳门新葡亰信誉平台游戏 ,供应商测试套件
(VTS)
进行验证,该套件类似于兼容性测试套件
(CTS)。

在I/O 2017上发布安卓8.0系统时,谷歌公布了全新的Project
Treble,试图解决厂商为旗下安卓智能手机提供安卓系统更新过慢的问题。通过Project
Treble,将安卓框架代码和硬件驱动代码分离,使得厂商能够更简单地提供安卓系统更新。

2、VTS测试流程

澳门新葡亰信誉平台游戏 3

1)替换谷歌system.img

VTS测试要求刷入谷歌提供AOSP的system.img
(GSI)。在user版本中,如果直接使用flash
tool单独烧录GSI时,会导致无法开机。

之所以会出现这种问题,是由于在user/userdebug版本中,dm-verity是使能的,替换GSI后导致dm-verity不能通过。
如果要解决这个问题,就需要进行unlock操作,并且要用fastboot来刷入刷入谷歌提供的system.img
.

Project
Treble的一个关键部分是通用系统映像(GSI),谷歌方面要求所有与Treble兼容的设备能够在现有供应商软件的基础上启动GSI,并进行一系列测试,如CTS-on-GSI(通用系统映像上的兼容性测试套件)和VTS(供应商测试套件)等。

具体操作如下:
    1. 在设置中打开 OEM unlocking 选项
    1. 在设置中打开 USB debugging 选项
    1. 长按音量 + 和电源键进入fastboot模式
    1. 连接到电脑上,分别执行fastboot flashing unlockfastboot oem unlock
      执行命令后需要选择音量 + 来确认unlock。
    1. 执行 fastboot 命令刷入google提供的 system.img (GSI):
      fastboot flash system system.img(需要根据软件版本的信息来选择GSI版本)
    1. 重启: fastboot reboot

现在,除了厂商之外,谷歌还希望GSI能够对普通用户起作用。

2)VTS测试

据XDA报道,在今年的Android开发者峰会上,来自谷歌Project
Treble团队的Hung-ying
Tyan举行了题为“了解通用系统映像(GSI)的影响”的演讲。Hung-ying
Tyan表示,谷歌将致力于让普通应用开发者甚至是消费者从GSI中受益,为此,谷歌已经在AOSP中提供了Pie-GSI,并在探索如何在下一个Android版本发布之前提供未来GSI的方法。

Running VTS

Hung-ying
Tyan透露,谷歌将通过GSI为用户提前提供下一个安卓版本的试用。这意味着即便是普通的消费者,只要够热情,也有可能在谷歌提供AOSP源代码之前测试Android
Q。

主机端设置
  • 首先设置基本测试环境
    GMS测试环境.

  • VTS测试环境配置:
    安装 Python 开发工具包:sudo apt-get install python-dev
    安装协议缓冲区工具(适用于
    Python):sudo apt-get install python-protobuf protobuf-compiler
    安装 Python
    虚拟环境相关工具:sudo apt-get install python-virtualenv python-pip

  • 下载并解压VTS测试工具

来自:ithome

手机端设置
  • 擦除设备上的用户数据(即运行fastboot -w)。

  • 刷入谷歌提供的system.img
    (GSI),使用与设备的ABI相对应的GSI,是否支持A /
    B更新以及设备的security_patch_level:

    ABI A/B Non A/B security_patch_level
    Arm64 aosp_arm64_ab aosp_arm64_a Uses the format: [year][month][date]
    Arm32 aosp_arm_ab aosp_arm_a Uses the format: [year][month][date]
    x86_64 aosp_x86_64_ab aosp_x86_64_a Uses the format: [year][month][date]
    x86_32 aosp_x86_32_ab aosp_x86_32_a Uses the format: [year][month][date]
  • Android 8.x的设备不需要安装SIM卡,但是Android
    P及更高版本的设备将需要SIM卡进行VTS测试。

  • 确保手机可以连接到IPV6的wifi网络,如果设备具有GPS / Wi-Fi /
    Cellular功能,则必须重置设备并打开位置设置。

  • 通过usb将手机连接到电脑上,通过 adb shell 来保证可以正确的连接。

运行VTS测试
  • 打开终端命令行

  • 切换到android-vts路径下

    $ cd *installation-path*/android-vts/tools

  • 通过下面的命令来进入到vts的控制台

    $ .vts-tradefed

  • 运行vts的测试命令

    > run vts

VTS常用命令
  • 列出所有跑测结果

    > l r

  • 列出所有检测到或已知的设备

    > l d

  • 单跑某一个模块

    > run vts -m <模块名>

  • 单跑某个测试项

    > run vts -m <模块名> -t <测试项名>

  • 可用选项

    > run vts -s <device_id> --logcat-on-failure --screenshot-on-failure --shard-count <shards>

    ‘-s <device_id>’:可指定运行测试的设备
    ‘–logcat-on-failure’:当测试失败时捕获logcat
    ‘–screenshot-on-failure’:当测试失败时截取屏幕截图
    ‘–shard-count <shards>’:用多个设备上同时跑测,可节省时间

  • 更多的命令可通过 help all 来查看:

澳门新葡亰信誉平台游戏 4

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图