目录
关于ATV简介
google介绍ATV详情的网址
https://support.google.com/,但登陆此网站需要翻墙。公司ATV开头的wifi可以连上翻墙。
Android TV=Android+GTVS
ATV实际上就是Android+GTVS+DRM的一系列测试。
在google ATV官方网站上主要看overview(预览,介绍ATV的发展历程),Project walk through(项目流程,就是完成开发到最后发布ATV应用的全部流程)。
Google认证术语
Project approval
项目认证,必须在每个特定的项目开始时就寻求项目的批准,项目的审批可确保Google了解并能够支持每种产品的开发和发布。
SoC approval
谷歌批准Android TV某些芯片组配置,这大大降低最终的认证风险,这是基于先前启动的设备或者硬件分析和可用基地测试的结果。
Device approval
对在特定硬件配置上运行的整个系统软件构建的认证,具有完全兼容性测试的结果,启动前需要设备批准。
谷歌批准和规定
所有开发的设备都必须在谷歌的partner网站上注册,并于SDK中的device model一一对应。
所有的修改都必须遵循CDD(ATV引导文件)规定
- 如app放在launcher的哪个位置,YouTube必须放在首页喜爱栏的第五个,谷歌市场必须放在allApps页面第二行第三个位置。
必须经过谷歌批准并加入谷歌安全补丁群组,定期打安全补丁,一般一月更新两次。如果不打过不了测试工具的测试。
ATV项目流程
1.根据客户需求选择一个硬件方案,这里必须根据客户的需求考虑它在技术上实现的可行性,因为销售人员是不会考虑这一块内容的。
2.准备好标准的Project Traker(项目流程计划)
3.与谷歌平台确认所选平台和项目是否能够支持
4.向谷歌提交设备信息以获取谷歌的白名单,这个需要在项目启动的90天前提交,因为谷歌需要90天的审核时间
5.开始用谷歌最新版本Android开发系统
6.开发完毕进行自测,自测完之后提交哈曼测试。自测一般需要15个工作日,而哈曼至少需要15工作日(但一般在一个星期左右可以拿到结果)。
7.将哈曼的测试报告提交给谷歌,谷歌审批需要30天时间。
8.一旦谷歌批准后的软件,不能再做修改。发布后在三个月内必须升级,ota升级版本需要重新认证。
白名单
Play Store Whitelisting
谷歌不允许直接内置,未在谷歌市场发布的app
Cast Provisioning
chrome cast功能,即是手机投屏,必须要获得白名单才能进行投屏,必须具备,才能过认证。
从Aosp系统转为ATV
修改Android 签名key为release
添加tdk(安全管理),widewine,playready3个key,之后两个都是用于媒体播放。
添加GTVS包,即是谷歌的市场应用。
DRM
windewine L1:for google cast,用来做投屏控制,只有版本达到L1才能实现。
HDCP2.2 High -bandwidth Digital Content Protection
playready Microsoft
ATV必须具备以上DRM才能通过认证
ATV必须内置:tdk.TDK的目的是为了帮助系统搭建security TEE(Trust Execution Environment),可信的执行环境
Test
CST : Compatibility Test Suite 兼容性套件测试
GTS : GMS TEST SUITE 针对谷歌市场,apk兼容性测试
VTS ON GSI : Generic System Image 硬件兼容性测试
SMOKE TEST : 预先测试是否符合ATV要求,LAUNCHER、系统布局等。在项目比较紧急时一般跳过。
CST ON GSI : 8.0以后需要测试此项,主要在Aosp上测试CST
YOUTUBE TEST : 针对youtube测试,一般没有强制性要求
测试工具的有效期为60个工作日,其中提交第三方测试需要两周以上,所以每一轮修改最长时间不能超过一个月。
其他
BLE语音遥控
ATV要求必须带BLE语音遥控器,因为谷歌助手在ATV中的使用率非常高。
签名key
ATV开发必须使用release key,否侧不能使用其他如Test key等。因为所有的应用都需要Android TV key签名才能在ATV系统运行;另一种方式就是加入GTVS才能通过认证。
TIF架构
ATV在Android P之后,DVB必须有TIF架构
ATV研发流程
ATV一般的研发过程:内置drm,内置gtvs。编译固件,做一些系列测试。提交第三方做同样的测试。根据测试FAIL项目修改源码。重新提测。直到所有报告通过,提交谷歌审批,最后出货。
ATV修改
ATV一般不允许修改大部分framework层和System分区,ATC如果随便更改一些权限,测试就有可能不通过。