При подготовке вашего 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 |