一、简介

销往海外的Android电视,若想使用Google的应用程序和服务,如YouTube、Gmail、Google Play Store等,必须通过此认证,获得Google授权。

目前XTS认证测试包括以下测试套件:
在这里插入图片描述
二、测试环境搭建:

1.安装Windows/Ubuntu双系统,也可以只装Ununtu系统

在这里插入图片描述

2.制作U盘启动盘

1)安装制作工具:进入官网安装Rufus

2)插入用来做启动盘的U盘(最好是usb3.0接口,16GB或以上),格式化。

3)打开安装好的refus(此时设备栏自动显示你所插入U盘的设备名称,无需调配),点击选择,选择刚刚下好的Ubuntu镜像文件。

4)格式化选项采用默认即可,点击开始。
在这里插入图片描述

3.U盘启动盘制作完成

1.将U盘插入待安装的电脑中

2.重启电脑,按F1/Esc/delete/F10/F11/F12键(不同品牌电脑快捷启动键不同)进入BIOS系统

3.在Security页面,关掉secure boot(即设置为disable),然后到Boot页面,如果有Fast Boot这一项(部分联想电脑有),也把它关掉,没有则忽略。

4.在Boot页面下方启动项选择 USB HDD启动,然后安装Ubuntu

在这里插入图片描述

三、配置XTS环境

1.在终端输入sudo apt update

在这里插入图片描述

2.在终端输入sudo apt upgrade

在这里插入图片描述

3.在终端输入sudo apt install android-sdk ;选择y,下载时间因网速而定,大概15分钟左右。

在这里插入图片描述

4.继续输入以下命令:

①Install Python development kit:

sudo apt-get install python-dev

②.Install Protocal Bufer tools (for Python):

sudo apt-get install python-protobuf

sudo apt-get install protobuf-compiler

③.Install Python virtual environment-related tools:

sudo apt-get install python3-virtualenv

sudo apt-get install python3-pip

完成环境配置

四、下载测试套件

测试套件下载地址:

platform-tools:https://developer.android.com/studio/releases/platform-tools#downloads xts2020:https://docs.partner.android.com/partners/announcements/test-suite/ CTS:https://source.android.com/compatibility/cts/downloads GTS:https://docs.partner.android.com/gms/testing/gts VTS/GSI:https://docs.partner.android.com/gms/testing/vts?hl=en GSI: https://drive.google.com/drive/u/0/folders/0B4f5jMEb_K3TemhDZWQ1UUV2c00 GSI(新):https://pan.baidu.com/s/1aMt4mnVm1FsGWoco5roZFA?pwd=ucef 提取码:ucef STS:https://drive.google.com/drive/u/0/folders/0B85mEDAGzAbsckRrZgFhhV3YwTEk STS(新):https://drive.google.com/drive/u/0/folders/13rKssxUewbsRgytezYMAvveE3BlEX_yT

TVTS:https://docs.partner.android.com/tv/test/tvts/release-notes

CTS-verifier:https://source.android.com/compatibility/cts/downloads.html#android-70

下载以上工具包,并在Ubuntu中解压:分别为CTS、VTS、GTS、STS、TVTS、platform-tools、CTS-Verifier 8.将以上文件放置在/home/Test/XTS目录下(gts-konka-tv.json文件和boot-debug.img找开发要,测试Gts和VTS会用到)

五、测试方法

一、CTS,CTS Compatibility Test Suite 意为兼容性测试套件,是 Google 推出的 Android 平台兼容性测试机制。CTS 测试主要是测试 OEM 厂商设计的 Android 平台是不是符合 Android 的 API 接口定义。通过 CTS 测试不仅可以保证 Android 设备上正常运行,同时,也能够让所有的开发者放心地制作高质量的应用程序,因此只有通过 CTS 认证的设备才能合法的安装使用 Google market 等 Google 应用。

1.耗时:单次运行完72小时左右

2.测试方法:

①.断电上电,长按ESC键进入Rboot命令行: Realtek> env set bootargs_ex androidboot.serialno=hello123 Realtek> env save

②.Realtek> env set androidboot cts (讓測試過程不會sleep) Realtek> env save

③.进入TV菜单,Settings->Device Preferences->About->连按7次Android TV OS build进入开发者模式

④.进入Developer options菜单,将Stay awake设为on,将USB debugging打开

⑤.进入Ubuntu系统,打开命令行输入adb connect ip,如:adb connect 192.168.1.101,连接电视,连接时会弹出验证,此时需要选择确定,建议勾选“Always”选项

⑥.进入CTS测试套件,进入tools文件夹,右键打开命令行,输入:./cts.tradefed,再输入run cts开始测试

⑦.跑完查看测试结果,输入l r

⑧.如果有Fail项,需要retry时,输入run retry --retry (sessionID代表l r出来的结果对应行的首位数字),如run retry --retry 1

二、GTS,Google Mobile Services Test Suite 意为谷歌移动服务测试套件,谷歌移动服务提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服务,当用户使用谷歌时,谷歌可以把各种广告嵌入到谷歌的服务中。

1.耗时:单次运行完7小时左右

2.测试方法:

①.断电上电,长按ESC键进入Rboot命令行: Realtek> env set bootargs_ex androidboot.serialno=hello123 Realtek> env save

②.Realtek> env set androidboot cts (讓測試過程不會sleep) Realtek> env save

③.进入TV菜单,Settings->Device Preferences->About->连按7次Android TV OS build进入开发者模式

④.进入Developer options菜单,将Stay awake设为on,将USB debugging打开

⑤.进入Ubuntu系统,打开命令行输入adb connect ip,如:adb connect 192.168.1.101,连接电视,连接时会弹出验证,此时需要选择确定,建议勾选“Always”选项

⑥.配置Authentication key:(RD提供,建议放置路径:/home/Google XTS/android-gts/key) 端口输入:export APE_API_KEY=‘/home/Google XTS/android-gts/gts-konka-tv.json’

⑦.进入/home/Google XTS/android-gts/tools 输入命令:./gts-tradefed 输入命令:run gts
在这里插入图片描述

三、CTS-ON-GSI ,Generic System Image,即Reference AOSP system image 意为通用系统映像上的兼容性测试套件,这个文件包也是签约获取授权后才能获取,Google也会定期更新GSI包。 GTS 工具 Android R 之前使用 VTS Tool,Android R 之后用 CTS Tool.

1.耗时:单次运行完72小时左右

2.测试方法:

①.断电上电,长按ESC键进入Rboot命令行: Realtek> env set bootargs_ex androidboot.serialno=hello123 Realtek> env save

②.Realtek> env set ethaddr 00:10:20:30:40:xx (必須每塊板子不同MAC 不然會打架) Realtek> env save

③.Realtek> env set androidboot cts (讓測試過程不會sleep) Realtek> env save

④.进入TV菜单,Settings->Device Preferences->About->连按7次Android TV OS build进入开发者模式

⑤.进入Developer options菜单,将Stay awake设为on,将USB debugging打开

⑥.进入Ubuntu系统,打开命令行输入adb connect ip,如:adb connect 192.168.1.101,连接电视,连接时会弹出验证,此时需要选择确定,建议勾选“Always”选项

⑦.进入CTS测试套件,进入tools文件夹,右键打开命令行,输入:./cts.tradefed,再输入run cts-on-gsi开始测试

⑧.跑完查看测试结果,输入l r

⑨.如果有Fail项,需要retry时,输入run retry --retry (sessionID代表l r出来的结果对应行的首位数字),如run retry --retry 1

四、VTS Vendor Test Suite 意为 供应商测试套件。以前Android的系统升级是很麻烦的,为了能更快的将设备升级到新的Android版本,Android O 开始新引入了 Project Treble,Project Treble 适用于搭载 Android O 及后续版本的所有新设备。Android 7.x 及更早版本中没有正式的Vendor层接口,因此每次更新系统都相对耗时和困难。Android O 之后,Treble 提供了稳定的Vendor层接口,供设备制造商访问 Android 代码中特定于硬件的部分,这样就可以只更新框架层,减少升级系统带来的成本和困难。为了确保Vendor层实现的前向兼容性,新的Vendor层接口会由供应商测试套件 (VTS) 进行验证,该套件类似于兼容性测试套件 (CTS)。

测试方法:

1.下载platform-tools压缩包,下载地址:https://developer.android.com/studio/releases/platform-tools#downloads

2.将压缩包放置Ubuntu,如/home/zhuhuasen/XTS下

3.右键点击,选择Extact here(解压到此处)

4.找开发要GSI和boot-debug.img,并将boot-debug.img和GSI中system.img拷贝到解压后的platform-tools文件夹下

5.将系统环境变量OEMLock设置为off,方法: 电视连接串口,断电上电,开机时,按Esc键进入Rboot命令,输入env set OEMLock off,再输入env save。

6.进入Ubuntu输入以下命令,完成fastboot升级

①、adb -s ip reboot fastboot

②、./fastboot -s tcp:IP:5554 flash boot boot-debug.img

③、./fastboot -s tcp:IP:5554 flash system system.img

④、./fastboot -s tcp:IP:5554 -w

⑤、./fastboot -s tcp:IP:5554 reboot

7.断电上电,长按ESC键进入Rboot命令行: Realtek> env set bootargs_ex androidboot.serialno=hello123 Realtek> env save

8.Realtek> env set ethaddr 00:10:20:30:40:xx (必須每塊板子不同MAC 不然會打架) Realtek> env save

9.Realtek> env set androidboot cts (讓測試過程不會sleep) Realtek> env save

10.进入TV菜单,Settings->Device Preferences->About->连按7次Android TV OS build进入开发者模式

11.进入Developer options菜单,将Stay awake设为on,将USB debugging打开 .进入Ubuntu系统,打开命令行输入adb connect ip,如:adb connect 192.168.1.101,连接电视,连接时会弹出验证,此时需要选择确定,建议勾选“Always”选项

12.进入VTS测试套件,进入tools文件夹,右键打开命令行,输入:./vts.tradefed,再输入run vts开始测试

13.跑完查看测试结果,输入l r 13.如果有Fail项,需要retry时,输入run retry --retry (sessionID代表l r出来的结果对应行的首位数字),如run retry --retry 1

五、STS ,Android Security Test Suite (STS) 是谷歌关于android安全补丁安装情况的一个测试套件STS和security patch相关的,是CTS测试新增加一项安全测试套件。STS是201808才开始测试的。Security patch日期在3个月内是GTS的一个case,如果不通过无法获得google认证。在18年5月之前谷歌对于security patch这个属性都是在build库下面跟着aosp更新的。现在需要通过STS之后由vendor来更新。STS需要通过userdebug版本的targetfile来生成一个user版本的结果。 STS 工具 自行下载

Ⅰ、注意:测试时需要使用userdebug软件

Ⅱ、测试方法:

①.断电上电,长按ESC键进入Rboot命令行: Realtek> env set bootargs_ex androidboot.serialno=hello123 Realtek> env save

②Realtek> env set ethaddr 00:10:20:30:40:xx (必須每塊板子不同MAC 不然會打架) Realtek> env save

③.Realtek> env set androidboot cts (讓測試過程不會sleep) Realtek> env save

④.进入TV菜单,Settings->Device Preferences->About->连按7次Android TV OS build进入开发者模式

⑤.进入Developer options菜单,将Stay awake设为on,将USB debugging打开

⑥.进入Ubuntu系统,打开命令行输入adb connect ip,如:adb connect 192.168.1.101,连接电视,连接时会弹出验证,此时需要选择确定,建议勾选“Always”选项

⑦.进入CTS测试套件,进入tools文件夹,右键打开命令行,输入:./sts.tradefed,再输入run sts-engbuild开始测试

⑧.跑完查看测试结果,输入l r

⑨.如果有Fail项,需要retry时,输入run retry --retry (sessionID代表l r出来的结果对应行的首位数字),如run retry --retry 1

六、TVTS ,TvtsAssistantTest是google最近推出的关于TV的TVTS中的一个测试模块,用来测试系统健壮性(system health )的,主要是通过katniss(google 语音助手)查找天气、启动youtube等相关测试 本文基于android-tvts_r1.03版本进行说明;

Ⅰ测试方法:

1.断电上电,长按ESC键进入Rboot命令行: Realtek> env set bootargs_ex androidboot.serialno=hello123 Realtek> env save

2.Realtek> env set ethaddr 00:10:20:30:40:xx (必須每塊板子不同MAC 不然會打架) Realtek> env save

3.Realtek> env set androidboot cts (讓測試過程不會sleep) Realtek> env save

4.进入TV菜单,Settings->Device Preferences->About->连按7次Android TV OS build进入开发者模式

5.进入Developer options菜单,将Stay awake设为on,将USB debugging打开

6.进入Ubuntu系统,打开命令行输入adb connect ip,如:adb connect 192.168.1.101,连接电视,连接时会弹出验证,此时需要选择确定,建议勾选“Always”选项

7.将以下三个文件拷贝到套件的tools文件夹下 smokeTestsResults.json youTubeHdrSmokeTestsResults.json youTubeSdrSmokeTestsResults.json

8.通过adb shell getprop ro.build.fingerprint获取当前要测试的目标机器的fingerprint配置

9.修改上述三个文件中的fingerprint的值为要测试的目标机器的实际fingerprint配置

10.进入CTS测试套件,进入tools文件夹,右键打开命令行,输入:./tvts-tradefed,再输入run tvts-cert开始测试 .跑完查看测试结果,输入l r

11.如果有Fail项,需要retry时,输入run retry --retry (sessionID代表l r出来的结果对应行的首位数字),如run retry --retry 1

七、CTS-V ,CTS Verifier 算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测试的功能,比如相机、传感器等。由于硬件配置或其他原因,不同电视上部分测试项目被隐藏,也就是说CTS Verifier中case的总数,取决于测试机支持哪些功能。

1.耗时:手动测试完需24小时左右

2.测试方法:

①.adb连接TV与PC。安装CtsVerifier.apk至电视机。adb install -r -g CtsVerifier.apk

②.测试手机安装CtsVerifier.apk

③.进入TV菜单,Settings->Apps->See all apps->CTS Verifier->Permissios,将所有权限都打开

④.进入CTS Verifier测试APP,手动执行每一项测试,详细测试方法请参看CTS Verifier文档

⑤.测试机在CtsVerifier程序的右上角选择保存,然后会弹出结果保存的路径。 (如:storage/emulated/0/verifierReports/2019.04.10_08.58.24-CTS_VERIFIER-HKC-Logik_2K_ATV_EU-ueno-PI.zip)

⑥.进入TV菜单,Settings->Device Preferences->About->连按7次Android TV OS build进入开发者模式

⑦.测试电脑连接TV,输入命令:adb connect 192.168.1.106(根据电视实际ip来写)adb pull /结果保存路径/XX.zip /结果放置路径。来提取结果。 如:adb pull storage/emulated/0/verifierReports/2019.04.10_08.58.24-CTS_VERIFIER-HKC-Logik_2K_ATV_EU-ueno-PI.zip / (将结果保存至服务器的根目录或其他目录)

原文链接

Google XTS TV认证测试经验总结

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐