Chromebook で実行する Android アプリを作成する際は、アプリで使用するデバイスの機能を考慮する必要があります。Chromebook は、Android 搭載デバイスで利用可能なハードウェア機能とソフトウェア機能をすべてサポートしているわけではありません。Chromebook でサポートされていない特定の機能がアプリに必要な場合、それらの機能を Chromebook にインストールすることはできません。
ハードウェア機能と特定のソフトウェア機能に対するアプリの要件をマニフェスト ファイルで宣言する必要があります。 このドキュメントでは、アプリ マニフェストでの Chromebook と互換性のない機能の宣言について説明します。
互換性のないマニフェスト エントリ
このセクションに記載されているマニフェスト エントリは、現時点では Chromebook と互換性がありません。アプリがこれらのエントリを使用する場合は、該当するエントリを削除するか、エントリとともに required="false"
属性値を含めることで、Chromebook にアプリをインストールできるようにすることを検討してください。ある機能を使用できるとは限らないデバイスで、その機能の使用を宣言する方法の詳細については、 <uses-feature>
マニフェスト要素のガイドをご覧ください。アプリ マニフェストの機能と説明を網羅した一覧については、機能のリファレンスをご覧ください。
注意: Android Studio 2.3 以降には、マニフェスト ファイルを自動的に検証する組み込みの lint チェックが備えられています。Android Studio で [File] > [Settings] > [Editor] > [Inspections] > [Android] > [Lint] > [Correctness] > [Chrome OS] を選択します。
ハードウェア機能
サポートされるハードウェア機能は、Chromebook によって異なります。どの Chromebook でもサポートされていない機能もあれば、一部の Chromebook ではサポートされている機能もあります。
特別な機能
次のリストは、Chromebook のハードウェア サポートを向上させるために追加された機能を示しています。
android.hardware.type.pc
- マウスとタッチパッドの入力エミュレーションを無効にします。 Chromebook 以外で実行不可能となることを避けるには、required="false"
を指定する必要があります。
サポートされていないハードウェア機能
次のリストは、現時点で Chromebook でサポートされていないハードウェア機能を示しています。
-
android.hardware.camera
– 背面カメラ android.hardware.camera.autofocus
– オートフォーカスを使用するカメラandroid.hardware.camera.capability.manual_post_processing
– 自動ホワイト バランスをオーバーライドする機能など、MANUAL_POST_PROCESSING
機能を使用するカメラandroid.hardware.camera.capability.manual_sensor
- 自動露出ロックのサポートなど、MANUAL_SENSOR
機能を使用するカメラandroid.hardware.camera.capability.raw
– DNG(raw)ファイルを保存して DNG 関連のメタデータを提供する機能など、RAW
機能を使用するカメラandroid.hardware.camera.flash
– フラッシュを使用するカメラandroid.hardware.camera.level.full
-FULL
レベルのイメージ キャプチャのサポートを使用するカメラandroid.hardware.consumerir
– 赤外線(IR)android.hardware.location.gps
– GPSandroid.hardware.nfc
– NFC(近距離無線通信)android.hardware.nfc.hce
– NFC カード エミュレーション(サポート終了)android.hardware.sensor.barometer
- バロメーター(気圧)android.hardware.telephony
- データ通信サービスを備えた無線通信などの電話android.hardware.telephony.cdma
- CDMA(Code Division Multiple Access)電話通信ネットワークのサポートandroid.hardware.telephony.gsm
- GSM(Global System for Mobile Communications)電話通信ネットワークのサポートandroid.hardware.type.automotive
– Android Auto のユーザー インターフェースandroid.hardware.type.television
– テレビ(サポート終了)android.hardware.usb.accessory
- USB アクセサリ モードandroid.hardware.usb.host
– USB ホストモード
部分的にサポートされているハードウェア機能
次のリストは、一部の Chromebook で使用できるハードウェア機能を示しています。
android.hardware.sensor.accelerometer
- 加速度計(デバイス画面の向き)android.hardware.sensor.compass
– コンパスandroid.hardware.sensor.gyroscope
– ジャイロスコープ(デバイスの回転と傾き)android.hardware.sensor.light
– ライトandroid.hardware.sensor.proximity
– (ユーザーに対する)近接センサーandroid.hardware.sensor.stepcounter
– 歩数計android.hardware.sensor.stepdetector
– 歩行検出機能
タッチスクリーン ハードウェアのサポート
Chrome OS バージョン M53 より、android.hardware.touchscreen
機能の必要性を明示的に宣言していない Android アプリもすべて、android.hardware.faketouch
機能をサポートする Chrome OS デバイスで動作するようになりました。疑似タッチ インターフェースを備えたデバイスには、基本的なタッチイベントをエミュレートするユーザー入力システムが用意されています。
たとえば、ユーザーはマウスまたはリモコンを操作して、画面上のカーソルの移動、リストのスクロール、画面上での要素のドラッグを行うことができます。
疑似タッチ インターフェースを備えているものの、タッチスクリーンではないデバイスにアプリをインストールしないようにするには、次のいずれかの操作を実施します。
- Google Play Console で特定のデバイスを除外する。
android.hardware.touchscreen
をアプリをインストールする際の必須要件として明示的に宣言することで、タッチ スクリーン ハードウェアを搭載していないデバイスをフィルタする。
ソフトウェア機能
現時点で Chromebook でサポートされていないソフトウェア機能は、以下のリストのとおりです。
android.software.app_widgets
- ホーム画面のアプリ ウィジェットandroid.software.device_admin
- デバイス ポリシーの管理android.software.home_screen
- デバイスのホーム画面の置き換えandroid.software.input_methods
– カスタムの入力方法(InputMethodService
のインスタンス)android.software.leanback
– 大画面での表示用に設計された UIandroid.software.live_wallpaper
– アニメーション壁紙android.software.live_tv
– テレビ番組のライブ ストリーミングandroid.software.managed_users
- セカンダリ ユーザーと管理対象プロファイルandroid.software.midi
- 楽器への接続と音源の提供をサポートする MIDI(Musical Instrument Digital Interface)プロトコルandroid.software.sip
- ビデオ会議とインスタント メッセージをサポートする SIP(セッション開始プロトコル)サービスandroid.software.sip.voip
– 双方向のビデオ会議をサポートする、SIP に基いた VoIP(ボイスオーバー インターネット プロトコル)サービス
機能要件を暗黙的に伴う権限
マニフェスト ファイルでリクエストする一部の権限では、ハードウェア機能とソフトウェア機能の暗黙的なリクエストが作成される場合があります。こうした権限をリクエストすると、Chromebook にアプリがインストールされなくなります。
権限リクエストに起因して Chromebook でアプリが利用できなくなることを回避する方法については、このページの互換性のないマニフェスト エントリをご覧ください。
次の表に示す権限は、Chromebook との互換性をアプリから失わせる特定の機能要件を暗黙的に伴います。
表 1. Chromebook と互換性のないハードウェア機能を暗黙的に伴うデバイス権限
カテゴリ | 権限 | 暗黙的な機能要件 |
---|---|---|
カメラ | CAMERA |
android.hardware.camera とandroid.hardware.camera.autofocus
|
電話 | CALL_PHONE |
android.hardware.telephony |
CALL_PRIVILEGED |
android.hardware.telephony |
|
MODIFY_PHONE_STATE |
android.hardware.telephony |
|
PROCESS_OUTGOING_CALLS |
android.hardware.telephony |
|
READ_SMSREAD_SMS |
android.hardware.telephony |
|
RECEIVE_SMS |
android.hardware.telephony |
|
RECEIVE_MMS |
android.hardware.telephony |
|
RECEIVE_WAP_PUSH |
android.hardware.telephony |
|
SEND_SMS |
android.hardware.telephony |
|
WRITE_APN_SETTINGS |
android.hardware.telephony |
|
WRITE_SMS |
android.hardware.telephony |