疾風の散財ブログ

何か適当に書きます

Android CTSについて

この記事は、 OIT Advent Calendar 2017の8日目の記事です。

自己紹介など

疾風(はやて)と申します。

HxS OB(当時は会計でした)

現在、社会人3年目です。

普段は横浜でAndroid PFの開発をしています。

去年は枠が埋まった後にAdvent Calendarの存在に気づきましたが、今回は参加できてよかったです。

本当は、一人暮らしをするにあたって買って良かった物ランキングを書こうかと思ったのですが、HxS OB3連チャンの初日を、くだらない記事で飾るのもどうかと思ったので、真面目に書こうと思います。

はじめに

最近はスマホもかなり普及してきましたが、皆さんはAndroidiPhoneどちらを使っていますか?

私はGalaxy Sが出た時から、ずっとAndroidを使っています。

そんなAndroidですが、Compatibility Test Suite (CTS)というテストを実行し、認証を取得しなければGoogle製アプリ(Play Storeなど)を搭載することが出来なくなっています。

Compatibility Test Suite (CTS)

名称のとおり、互換性テストです。詳細はコチラ

このテストを全てPassすることで、Androidとしての互換性が保たれていると証明できるわけですね。

他にも、Android Frameworkの修正を取り込んで貰うときに、実行する必要があったりします。

CTSは、自動でテスト実行するCTSと、手動でテスト実行するCTS Verifierと2種類のテストがあります。

実行方法などは、上記のリンク先を見ていただいたほうが良いでしょう。

注意する点としては、Android 6.0 (M)まではCTS v1、Android 7.0 (N)からはCTS v2のため、使用できるオプションが異なっています。

同じように実行しようとするとハマるかもしれません。

また、CTS Verifierでは特定のUSBオーディオインターフェースが必要なテストもあります。

下記のものが使えると記載がありますが、PreSounus AudioBox 96については、テスト側のバグのため使用不能(テストがエラーになる)なケースが報告されていたため、残り3機種から選ぶほうがいいかと思います。

自分の手持ちのスマホでどれぐらいPassするのか見てみると面白いかもしれませんね。

と言っても、Nexusバイスですら全件Passすることはなかったりするのですが...w

Vendor Test Suite (VTS)

CTSについて簡単に説明してみましたが、Android 8.0からは新たなテストが追加されています。

それが、Vendor Test Suite (VTS)です。詳細はコチラ

Android 8.0 (O)からProject Trebleと呼ばれる、ベンダー実装とAndroid Frameworkを分離するための新しい仕組みが導入されています。

それをテストするのが、このVTSです。

 

パートナーでない場合、VTSはダウンロードして手に入れることができないため、自身でビルドする必要があります。

このテストでは、Generic System Image(GSI)という汎用イメージを端末に焼き込み、OSとHALの整合性が保たれているかを確認します。

Compatibility Test Suite on Generic System Image (CTS-on-GSI)

前述のVTSとGSIを利用してCTSと同等の確認を行い、互換性が担保されているか確認するテストです。

最後に

真面目に書くと言いながら、大部分がGoogle本家へのリンクで片付いてしまう事案でした。

普段なかなか馴染みがないとは思いますが、Android端末を作ったりするときには必須の条件なので、頭の片隅にでも入れておくと何処かで役に立つかもしれません(?)。

 

それでは、また何処かで。

 

P.S Twitterやってます。お気軽にフォローください。