1秩彤、CTS(兼容性測試套件Compatibility Test Suite)
https://source.android.com/compatibility
CTS是一套自動化測試套件,其目的是盡早發(fā)現(xiàn)不兼容性事哭,確保軟件在整個開發(fā)過程中保持兼容性漫雷。測試內容包括:簽名測試、平臺API測試(核心庫和Android 應用框架)鳍咱、Dalvik測試降盹、平臺Intent、平臺權限流炕、平臺資源澎现。
測試套件下載地址:
https://source.android.com/compatibility/cts/downloads
測試命令:
https://source.android.com/compatibility/cts/command-console-v2
注意事項
1.1、安裝Cts Verifier后每辟,請手動授予CtsVerifier所有的權限剑辫,Android R請安裝JDK 11
2、CDD(兼容性定義文檔)渠欺,代表兼容性的“政策”方面
本文檔列舉了設備必須滿足哪些要求才能與最新版本的Android兼容
https://source.android.com/compatibility/cdd
3妹蔽、GTS(GMS測試套件Google Mobile Service Test Suite)
Google移動服務(GMS)是Google提供的應用程序和服務的集合,它運行在Android應用程序框架之上挠将。GMS測試套件(GTS)是一個自動化測試套件胳岂,用于驗證GMS應用程序是否已正確集成,同意的合同條款保持是否與google一致舔稀。GTS使用Tradefed測試工具乳丰,類似于兼容性測試套件(CTS)一樣。
注意事項
3.1 内贮、GMS包和對應GTS測試工具包都是google不開源产园,無源碼的汞斧。GMS測試fail主要對比Google原生機器的測試結果參考,看fail的log提示什燕,或者反編譯測試apk進行分析粘勒。
4、BTS(構建測試套件Build Test Suite)
MBA(Mobile Bundle Apps)安全漏洞政策
對于違反MBA安全漏洞政策的應用屎即,構建測試套件(BTS)發(fā)出WARN(警告)庙睡。合作伙伴必須在披露之日起90天內解決此問題。如果問題仍未解決技俐,則狀態(tài)會在90天后自動變?yōu)锳LERT(警報)乘陪,并導致構建批準被阻止。當BTS發(fā)出WARN(警告)時虽另,除了Android合作伙伴批準(APA)中的消息外暂刘,還會為您分配一個錯誤饺谬,以通知您違規(guī)行為捂刺。
5、VTS(供應商測試套件 Vendor Test Suite)
供應商測試套件(VTS)會自動執(zhí)行HAL和操作系統(tǒng)內核測試募寨。要使用VTS測試Android原生系統(tǒng)實現(xiàn)族展,請設置一個測試環(huán)境,然后使用VTS方案來測試相應補丁程序拔鹰。
6仪缸、GSI(Generic System Image)
GSI可視為一種“純Android”實現(xiàn),采用未經(jīng)修改的Android開源項目(AOSP)代碼列肢,在任何運行Android8.1或以上版本的Android設備上都可以順利運行恰画。GSI用于運行VTS和CTS-on-GSI測試。為確保運行最新版Android的設備正確實現(xiàn)供應商接口瓷马,您需要將Android設備的系統(tǒng)映像替換為GSI拴还,然后使用供應商測試套件(VTS)和兼容性測試套件(CTS)來測試設備。R上的GSI測試是在CTS工具下測試欧聘,Q上是用VTS工具測試片林,GSI測試需要刷google GSI,VTS跟GSI的區(qū)別是VTS需要刷boot-debug.img,需要root權限。
7怀骤、CTS測試結果分析
7.1 一份報告一般有result和log目錄费封,根據(jù)報告的result目錄,查看test_result.html蒋伦、test_result_failures_suite.html弓摘,查看測試fail項,搜索項目源碼痕届,查看fail項報告的原因韧献。如果測試工具更新了寺旺,對應的測試項也更新了,行號對應不上势决,此時可以查看源碼網(wǎng)站:
https://android.googlesource.com/platform/cts
https://cs.android.com/
例如:https://android.googlesource.com/platform/cts/+/refs/tags/android-cts-11.0_r2/tests/tests/permission/src/android/permission/cts/RemovePermissionTest.java
7.2 如果缺少log阻塑,請環(huán)境編譯,CTS測試源碼添加log果复,編譯apk替換原有APK進行分析
7.3 實在搞不定陈莽,請確認google原生機器pixel是否也會fail,如果也有問題可以找google尋求幫助虽抄。如果定位是google測試工具問題或是GMS包的問題走搁,也可以找google尋求幫助。