Chrome OSでもAndroidアプリが利用可能になりました
Google I/O 2016で、Chrome OSでAndroidアプリを使えるようにすると発表されました。
いち早く新機能が試せる「Devチャンネル」で、Androidアプリが使えるアップデートの配信が開始されました。Androidアプリが動作するChrome OSは、バージョン53になり、これにアップデートするとPlayストアがアイコンが追加されて、Androidアプリがインストールできます。
現在の対象は、以下の3機種に限られています。
- Acer Chromebook R11
- Asus Chromebook Flip
- Google Chromebook Pixel(2015)
対応機種が2016年後半までに順次増える予定で、以下のサイトで確認できます。
リストを見ると、Intel CPUを搭載したChromebookに限られているようです。Samsungが販売するChromebookは、ARMベースのExynos CPUを搭載する端末がありましたが、いまのところ対応リストには上がっていません。
Androidアプリがどのように動くのか
Androidアプリは、Chrome OSのウィンドウ内で実行されます。
このウィンドウは3種類あります。1つは、スマホ画面を想定した標準的な縦長のウィンドウです。もう1つは、標準ウィンドウを拡大表示して画面の縦方向いっぱいに表示するもで、最後は、画面いっぱいに表示する全画面です。ウィンドウサイズは、この3種類からしか選べず、好きな大きさにリサイズできません。
標準ウィンドウを選ぶと、複数のアプリが画面に表示されて同時に使えます。
ただし、ウィンドウが非アクティブになると、Androidアプリからはバックグラウンドに回ったように見えます。ゲームなどは裏に回ると動作を止めるので、見える状態で並べていても同時に動かないようなアプリもあります。
キーボードやマウス、タッチ操作などは、Chrome OSとシームレスに行えるようです。
他、Androidの通知は、Chrome OSの通知機能と統合されており、Chromebookで受けられます。また、Wi-FiやBluetoothのネットワークは、Androidアプリからそのまま使えます。ファイルシステムは、AndroidアプリとChrome OSでシームレスに使えるようになっており、ファイル共有も簡単なようです。
もしかするとATOKが使えるのでは?と期待した方もいるかもしれませんが、後からインストールするIMEはサポートされていません。これ以外では、ホーム画面やウィジェット、ライブ壁紙もサポート外となっています。
コンテナ技術を使って実現している
Androidをアプリの実行環境として「Android Framework」がChrome OSに追加されました。これは、仮想化技術が使われているのではなくコンテナ技術が使われています。これにより、性能劣化が少ない状態でAndroidアプリが動作します。たとえば、ゲームは良好なパフォーマンスで動作しているようです。
Chrome OSとAndroidの基盤はLinuxが使われています。よって仮想化技術よりはコンテナ技術を使う方が、性能劣化を抑えて効率的に実装できるので当然の選択とも言えます。
アプリは考慮して作る必要がある
多くのAndroidアプリが動作するとされていますが、対応させるのにいくつか注意点があるのでご紹介しておきます。
- マニフェストの"android.hardware.touchscreen"を"false"にする
- キーボードやマウス、トラックパッドで操作できるようにする
- 3つのウィンドウモードで、アプリが動作するようにする
android.hardware.touchscreenは、タッチパネルを持たないChromebookのために明示的にfalseにしてやる必要があるようです。以下のサイトで、AndroidアプリをChrome OSに最適化する手法が公開されています。
また、YouTubeには、Google I/Oのセッションビデオが公開されているので、こちらも参考にしてください。
Androidアプリが動作するChrome OSのリリースは秋頃とされています。
Androidタブレットは、壊滅的とも言えるような状況で、タブレットを活用する業務では、iPad以外に選択肢がない状況になりつつあります。ChromebookでAndroidアプリが使えるようになれば、この状況に割って入ることができる可能性も考えられるので楽しみです。
今週はこのあたりで、また来週。