Chromebook 向けアプリ マニフェストの互換性

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 – GPS
  • android.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 – 大画面での表示用に設計された UI
  • android.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