Mientras preparas tu app para Android a fin de que se ejecute en Chromebooks, ten en cuenta las funciones del dispositivo que esta usa. Las Chromebooks no son compatibles con todas las funciones de hardware y software que se encuentran disponibles en otros dispositivos con Android. Si tu app requiere funciones específicas que no son compatibles con las Chromebooks, no estará disponible para su instalación en Chromebooks.
Debes declarar los requisitos de tu app para las funciones de hardware y para ciertas funciones de software en el archivo de manifiesto. En este documento, se describen las declaraciones de funciones del manifiesto de la app que no son compatibles con Chromebooks.
Entradas incompatibles de manifiestos
Las entradas del manifiesto que se indican en esta sección no son compatibles con Chromebooks. Si tu app usa alguna de estas entradas, procura quitarlas o incluir con ellas el valor del atributo required="false"
para que la app pueda instalarse en Chromebooks.
Para obtener más información sobre cómo declarar el uso de la función sin exigir que esté disponible en el dispositivo, consulta la guía del elemento de manifiesto <uses-feature>
. Para obtener una lista completa de las funciones y las descripciones del manifiesto de la app, consulta la Referencia de las funciones .
Nota: Android Studio 2.3 y las versiones posteriores tienen comprobaciones de lint integradas para validar automáticamente el archivo de manifiesto. En Android Studio, selecciona File > Settings > Editor > Inspections > Android > Lint > Correctness > ChromeOS.
Funciones de hardware
La compatibilidad de las funciones de hardware varía en los equipos Chromebook. Algunas funciones no son compatibles con ninguna Chromebook, mientras que otras solo son compatibles con algunas de ellas.
Funciones especiales
Para obtener una mejor compatibilidad de hardware en Chromebooks, android.hardware.type.pc
inhabilita la emulación de entrada para el mouse y el panel táctil. Debes indicar required="false"
para esta entrada; de lo contrario, tu app solo se podrá ejecutar en Chromebooks.
Funciones de hardware incompatibles
En la siguiente lista, se incluyen las funciones de hardware que no son compatibles con Chromebooks:
-
android.hardware.camera
: cámara trasera -
android.hardware.camera.autofocus
: Cámara que usa el enfoque automático -
android.hardware.camera.capability.manual_post_processing
: Es una cámara que usa la funciónMANUAL_POST_PROCESSING
, incluida la funcionalidad para anular el balance automático de blancos. -
android.hardware.camera.capability.manual_sensor
: Cámara que usa la funciónMANUAL_SENSOR
, incluida la compatibilidad con el bloqueo de exposición automática -
android.hardware.camera.capability.raw
: Es la cámara que usa la funciónRAW
, incluida la capacidad de guardar archivos DNG (sin procesar) y proporcionar metadatos relacionados con DNG. -
android.hardware.camera.flash
: cámara que usa flash -
android.hardware.camera.level.full
: Cámara que usa compatibilidad con captura de imágenes de nivelFULL
-
android.hardware.consumerir
: infrarrojo (IR) -
android.hardware.location.gps
: Sistema de posicionamiento global (GPS) -
android.hardware.nfc
: Comunicación de campo cercano (NFC) -
android.hardware.nfc.hce
: Emulación de tarjetas NFC, que dejó de estar disponible -
android.hardware.sensor.barometer
: barómetro (presión de aire) -
android.hardware.telephony
: Telefonía, incluida la radio con servicios de comunicación de datos -
android.hardware.telephony.cdma
: compatibilidad con redes de acceso múltiple por división de códigos telefónicos (CDMA) -
android.hardware.telephony.gsm
: Compatibilidad con redes del sistema de telefonía global para comunicaciones móviles (GSM) -
android.hardware.type.automotive
: Dispositivo con SO Android Automotive -
android.hardware.type.television
: Televisión, que dejó de estar disponible -
android.hardware.usb.accessory
: Modo de accesorio USB -
android.hardware.usb.host
: Modo de host USB
Funciones de hardware parcialmente compatibles
En la siguiente lista, se incluyen las funciones de hardware que podrían estar disponibles en algunas Chromebooks:
-
android.hardware.sensor.accelerometer
: Acelerómetro (orientación del dispositivo) -
android.hardware.sensor.compass
: brújula -
android.hardware.sensor.gyroscope
: Giroscopio (rotación y giro del dispositivo) -
android.hardware.sensor.light
: claro -
android.hardware.sensor.proximity
: proximidad (al usuario) -
android.hardware.sensor.stepcounter
: contador de pasos -
android.hardware.sensor.stepdetector
: detector de pasos
Compatibilidad con hardware de pantallas táctiles
A partir de la versión M53 de ChromeOS, todas las apps para Android que no requieran explícitamente la función
android.hardware.touchscreen
también funcionarán en dispositivos con ChromeOS que admitan la función
android.hardware.faketouch
.
Los dispositivos que tienen interfaces táctiles falsas proporcionan un sistema de entrada de usuario que emula eventos táctiles básicos. Por ejemplo, el usuario puede interactuar con un mouse o un control remoto para mover un cursor en pantalla, desplazarse por una lista y arrastrar elementos de una parte de la pantalla a otra.
Si no quieres que se instale tu app en dispositivos que tienen interfaces táctiles falsas, pero no pantallas táctiles, puedes realizar una de las siguientes acciones:
- Excluir dispositivos específicos en Google Play Console
- Filtra los dispositivos sin hardware de pantalla táctil declarando explícitamente
android.hardware.touchscreen
como elemento necesario para instalar tu app.
Funciones de software
En la siguiente lista, se incluyen las funciones de software que no son compatibles con las Chromebooks:
-
android.software.app_widgets
: Widgets de apps en la pantalla principal -
android.software.device_admin
: Administración de la política de dispositivo -
android.software.home_screen
: Reemplaza la pantalla principal del dispositivo. -
android.software.input_methods
: Métodos de entrada personalizados (instancias deInputMethodService
) -
android.software.leanback
: IU diseñada para la vista en pantallas grandes -
android.software.live_wallpaper
: fondos de pantalla animados -
android.software.live_tv
: transmisión de programas de TV en vivo -
android.software.managed_users
: Usuarios secundarios y perfiles administrados -
android.software.sip
: El servicio de protocolo de inicio de sesión (SIP), que admite videoconferencias y mensajería instantánea -
android.software.sip.voip
: Servicio de protocolo de voz a través de Internet (VoIP) basado en SIP, que admite videoconferencias bidireccionales
Permisos que implican requisitos de funciones
Algunos permisos que solicitas en tus archivos de manifiesto pueden crear solicitudes implícitas para funciones de hardware y software. Cuando solicitas estos permisos, evitas que tu app se instale en Chromebooks.
Para obtener información detallada sobre cómo evitar que las solicitudes de permisos hagan que tu app no esté disponible en Chromebooks, consulta la sección Entradas incompatibles de manifiestos de esta página.
En la siguiente tabla, se muestran los permisos que implican requisitos de funciones que hacen que una app no sea compatible con Chromebooks:
Categoría | Este permiso | implica este requisito de la función |
---|---|---|
Cámara | CAMERA |
android.hardware.camera yandroid.hardware.camera.autofocus
|
Telefonía | 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 |