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] > [ChromeOS] を選択します。

ハードウェア機能

サポートされるハードウェア機能は、Chromebook によって異なります。Chromebook でサポートされていない機能もあれば、一部の Chromebook でのみサポートされている機能もあります。

特別な機能

Chromebook のハードウェア サポートを強化するために、android.hardware.type.pc はマウスとタッチパッドの入力エミュレーションを無効にします。このエントリには required="false" を指定する必要があります。指定しない場合、アプリは Chromebook でのみ実行できます。

サポートされていないハードウェア機能

次のリストは、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: RAW 機能を使用するカメラ(DNG(RAW)ファイルの保存や DNG 関連のメタデータの提供を含む)
  • 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)ネットワークのサポート
  • android.hardware.telephony.gsm: 電話通信 Global System for Mobile Communications(GSM)ネットワークのサポート
  • android.hardware.type.automotive: Android Automotive OS デバイス
  • android.hardware.type.television: 非推奨の TV
  • 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: 歩行検出機能

タッチスクリーン ハードウェアのサポート

ChromeOS バージョン M53 以降では、 android.hardware.touchscreen 機能を明示的に必要としないすべての Android アプリは、 android.hardware.faketouch 機能をサポートする ChromeOS デバイスでも動作します。

疑似タッチ インターフェースを備えたデバイスは、基本的なタッチイベントをエミュレートするユーザー入力システムを備えています。たとえば、ユーザーはマウスまたはリモコンを操作して、画面上のカーソルの移動、リストのスクロール、画面上での要素間のドラッグ操作を行えます。

疑似タップ インターフェースを搭載しているがタッチスクリーンは備えていないデバイスにアプリをインストールしたくない場合は、次のいずれかの操作を行います。

  • 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.sip: ビデオ会議とインスタント メッセージをサポートするセッション開始プロトコル(SIP)サービス
  • android.software.sip.voip: SIP に基づく Voice Over Internet Protocol(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_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