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: 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: テレフォニー Code Division Multiple Access(CDMA)ネットワークのサポート
  • android.hardware.telephony.gsm: テレフォニー Global System for Mobile Communications(GSM)ネットワークのサポート
  • android.hardware.type.automotive: Android Automotive OS デバイス
  • 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: 歩行検出機能

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

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(Session Initiation Protocol)サービス
  • 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