Совместимость манифеста приложения для Chromebook

При подготовке вашего Android-приложения для работы на Chromebook учитывайте особенности устройства, которое оно использует. Chromebook не поддерживают все аппаратные и программные функции, доступные на других устройствах под управлением Android. Если вашему приложению требуются определенные функции, которые не поддерживаются на Chromebook, оно не будет доступно для установки на Chromebook.

В файле манифеста вы указываете требования к аппаратным и программным функциям вашего приложения. В этом документе описываются объявления функций в манифесте приложения, которые несовместимы с Chromebook.

Несовместимые записи манифеста

Перечисленные в этом разделе записи манифеста несовместимы с Chromebook. Если ваше приложение использует какие-либо из этих записей, рассмотрите возможность их удаления или добавления к ним значения атрибута required="false" , чтобы ваше приложение можно было установить на Chromebook.

Для получения дополнительной информации об объявлении использования функции без требования ее наличия на устройстве см. руководство по элементу манифеста <uses-feature> . Полный список функций манифеста приложения и их описания см. в справочнике по функциям .

Примечание : В Android Studio есть встроенные проверки кода (lint) для автоматической проверки файла манифеста. В Android Studio выберите Файл > Настройки > Редактор > Инспекции > Android > Lint > Корректность > ChromeOS.

Аппаратные характеристики

Поддержка аппаратных функций на разных 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 : инфракрасный (ИК)
  • 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 : поддержка телефонии в сети Global System for Mobile Communications (GSM).
  • android.hardware.type.automotive : Устройство Android Automotive OS
  • android.hardware.type.television : 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 : light
  • android.hardware.sensor.proximity : близость (к пользователю)
  • android.hardware.sensor.stepcounter : счетчик шагов
  • android.hardware.sensor.stepdetector : детектор шагов

Поддержка аппаратного обеспечения сенсорного экрана

Начиная с версии ChromeOS M53, все приложения Android, которые не требуют явного использования функции android.hardware.touchscreen , также работают на устройствах ChromeOS, поддерживающих функцию android.hardware.faketouch .

Устройства с имитирующим сенсорным интерфейсом предоставляют систему ввода данных, которая эмулирует основные события касания. Например, пользователь может взаимодействовать с мышью или пультом дистанционного управления, чтобы перемещать курсор на экране, прокручивать список и перетаскивать элементы из одной части экрана в другую.

Если вы не хотите, чтобы ваше приложение устанавливалось на устройства с фиктивным сенсорным интерфейсом, но не с сенсорным экраном, вы можете выполнить одно из следующих действий:

  • Исключить определенные устройства из списка в консоли Google Play .
  • Для фильтрации устройств без сенсорного экрана явно укажите, что для установки вашего приложения требуется атрибут android.hardware.touchscreen .

Функции программного обеспечения

Ниже приведён список программных функций, которые не поддерживаются на Chromebook:

  • android.software.app_widgets : виджеты приложения на главном экране
  • android.software.device_admin : администрирование политик устройств
  • android.software.home_screen : заменяет главный экран устройства.
  • android.software.input_methods : пользовательские методы ввода (экземпляры InputMethodService )
  • android.software.leanback : пользовательский интерфейс, разработанный для просмотра на больших экранах.
  • android.software.live_wallpaper : анимированные обои
  • android.software.live_tv : потоковая передача телепрограмм в прямом эфире
  • android.software.managed_users : дополнительные пользователи и управляемые профили
  • android.software.sip : служба протокола инициации сеанса (SIP), поддерживающая видеоконференции и обмен мгновенными сообщениями.
  • android.software.sip.voip : Сервис передачи голоса по интернет-протоколу (VoIP) на основе SIP, поддерживающий двустороннюю видеоконференцсвязь.

Разрешения, подразумевающие требования к функциям.

Некоторые разрешения, запрашиваемые в файлах манифеста, могут создавать подразумеваемые запросы на аппаратные и программные функции. Запрашивая эти разрешения, вы предотвращаете установку вашего приложения на 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