Android TV 认证简介

Android TV是在2014年6月26日Google I/O上推出的,专门为TV和机顶盒产品设计的应用程序服务包。基于Android AOSP版本,加上GTVS包就可以编译出来Android TV的Firmware。和AOSP相比,Android TV提供如下内容:

• Leanback Launcher

• Google Services(Google Play,YouTube,Play Movie&TV, Play Games, etc.)

• Search and Assistant

• Google Cast

• GOTA

Android TV认证指的是整机认证,由ODM/OEM提交给Google做认证测试。 SOC厂家不需要做芯片级的认证。

 

一、Android TV 认证流程

1. 签完NDA后,可以访问Google的Help Center

2. 签完ACC后,Google会建立Project Tracker

3. 签完TADA后,可以从Google下载到GTVS包,并开通APFE(Android Partner Frontend)的访问权限

• GTVS包由Google提供

• Google Partner通过APFE来上传测试报告,也可以通过APFE来查询认证状态

4. 向Google申请白名单

5. 基于Amlogic的openlinux release的code, 加上GTVS包,编译出Android TV的Firmware

6. ODM/OEM完成CTS, CTS veriry, GTS, VTS, Smoking test测试,并上传报告到APFE

7. 寄机器给Google或Harman测试

目前只有Harman和和硕这两家第三方Android TV认证实验室

 

GMS包需要google开通权限后才能下载,编译Android TV版本的步骤如下:

1. 获取GMS包,解压到vendor/目录

2.source build/envsetup.sh

export BOARD_COMPILE_ATV=true

lunch marconi-userdebug

make otapackage

 

二.客制化

虽然添加了GMS包后编译的Android TV版本包含了几乎所有的apk及功能,但是还需要进行一些客制化才可以使用

1.Leanback Launcher上增加状态图标(Android TV官网叫微件),比如增加inputs,电池电量,wifi图标等

 

 

 

图 1. 主屏幕与系统栏中的微件

 

图 2. 系统栏中的打开TV 输入面板的开关

Tv Inputs的图标按照Google要求是必须显示的(盒子项目不需要)相关代码公版中已经默认加入,需要在device中加入该apk的编译配置

公版代码:vendor/amlogic/common/prebuilt/LauncherCustomization/res/raw/configuration.xml

其他图标比如wifi需要客户自己写一个apk,代码可以参考https://github.com/Jetson-TK1-AndroidTV/LeanbackCustomizer

文档可以参考https://support.google.com/androidpartners_androidtv/answer/7549452?hl=zh-Hans&ref_topic=7549694,里面有相关的介绍

 

2.蓝牙语音遥控器适配Google Assistant

Google Assistant需要用到蓝牙语音遥控器,需要根据遥控器修改audio hal

 

3.应用排序要求

Google强制要求launcher上UI图标排序,需要写一个apk并且增加xml的配置,需要排序的主要是分为收藏应用和应用视图.

收藏应用行

OEM 可以设置收藏应用行的现成顺序,用户以后可以移动、收藏或取消收藏这些应用。

  • Google 保留槽位 5 (YouTube) 和 6(Play 影视)。有关更多详情,请参阅 GTVS 要求
  • 最多现成放置了 8 个应用(包括 YouTube 和 Play 影视,必须放置这两个应用)。
  • 建议将 Live TV 应用放置在第一个槽位中。

 

图 3. 收藏应用排序要求

应用视图

通过“应用”图标、可选的遥控器按钮或长按主屏幕键即可打开应用视图。应用视图包含:

  • 推广横幅 - 由 Google Play 控制
  • “所有应用”网格
  • 可选的 OEM 推荐行
  • 单独的“游戏”网格

 

图 4.主屏幕应用视图与“应用”图标以及遥控器上的“应用”按钮的插图

 

 

4.PAI开机向导应用推荐

 

图 5. PAI应用推荐界面要求

 

图 6. PAI APK客制化流程

Google详细介绍网页:https://support.google.com/androidpartners_androidtv/answer/7507868?hl=zh-Hans

具体流程如下:

①将demo源码放到vendor/amlogic/common/apps路径下

②修改vendor/amlogic/common/apps/PlayAutoInstallConfig下stub和test下面AndroidManifest.xml中的包名,2个 xml修改后的包名必须完全一样

③修改res-test/xml/下的default_layout.xml,替换成需要预装的apk信息

④mm编译,会生成2个apk,其中PlayAutoInstallConfig.apk是必须预装到系统中的/system/app下,PlayAutoInstallConfig-test.apk和default_layout.xml需要上传到APFE中

 

5.客制化OBBE开机向导(非认证需求)

在CTV Google TV项目中印度客户提出印度当地的网络较差,要求我们提供在OBBE的联网和登录界面可以支持跳过整个开机向导的功能,而Google也支持较大程度的客制化满足不同OEM厂商的要求

具体可以参考Google ATV介绍:

https://support.google.com/androidpartners_androidtv/answer/6188677?hl=zh-Hans&ref_topic=7507141

 

图 7. 设置向导流程中的自定义选项。

Google提供的demo中功能非常丰富,可以直接添加activity,但是如果只是支持skip网络和登录的功能,只需要增加2个xml中的config配置即可

<!-- 是否允许用户跳过默认的网络设置步骤。--> <bool name="show_skip_network"></bool>

<!-- 是否允许用户跳过 Google 帐号登录步骤。--> <bool name="show_skip_signin"></bool>

 

三、白名单

项目开发过程中需要用到的白名单如下:

1.开机向导需要白名单,否则登陆账号无法跳过

需要烧录usid,也就是Google要求的串号ro.serialno

2.google cast需要白名单,否则无法使用cast功能

可以用iphone直接下载个youtube,和测试平台连接相同的wifi后即可测试

3.youtube付费视频需要白名单,否则最高只能播放到480P

该项测试主要在smoke test中,只需要看youtube中是否能到1080P以上

 

四、GTVS认证测试

一、smoke test

这个认证主要是根据google提供的excel表格进行的主观测试,由于文档中的描述比较简洁,如果测试时的侧重点不同,得到的结果也不同,所以人为影响非常大!

举例1:

Search Live TV app content with Remote Control button

 

这一条哈曼那边得到的要求如果进入tv app,需要将tv app中搜索到的内容置顶显示,但是实际上tv app的内容是显示在youtube下面。我们总共对比过Google自家的产品google Nexus player,google主导的Atom soundbar,以及TV公版,均是排序不满足置顶要求。

解决办法:向Google提bug,然后附上详细理由,最后Google同意waive,拿到waive id后让客户提供给Harman,附到测试报告中,最后让Google决定

 

举例2:

Youtube 付费视频最大只能播放到480P,无法选择4K

该问题是需要客户向Google申请专门的白名单.

 

举例3:

google cast无法连接成功,或者卡顿严重经常断开连接

cast功能主要是依赖Google白名单,如果无法连接,需要找Google排查下白名单是否添加成功,之前就遇到device name与其他产品相同,而Google没有检查出来

 

举例4:

YouTube付费视频可以达到1080P,但是Play Movie中只能到720P

我们测试发现在HD的屏并且OSD的buffer是720P时,play movie只能到720P,但是相同软件的OSD 720P的板子接1080P的屏,play movie确能到1080P,咨询Google回复这个是正常的行为,所以play movie的分辨率不只是和白名单有关,还受屏幕分辨率的影响!

 

二、GTVS自动化测试

该测试全部都是自动化测试,主要包含CTS, CTS veriry, GTS, VTS,Cts-on-gsi,sts。

需要注意的地方是:

1.测试网络

如果fail项中出现net等网络字样,可能与IPV6相关

 

2.waive id

 

3.测试手法

如果有些case全部测试无法pass,可以通过跑单例再次进行测试,harman实验室是支持单例的测试报告

 

4.BTS测试

BTS测试需要用out目录下编译生成的fastboot-falshall这个zip包,将这个zip包提供给Google,他们会进行一个安全性扫描,如果缺少合并关键性的security patch,则会出现fail项。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章