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項。

 

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