Puedes usar Google Play Store con el fin de instalar apps para Android en varias Google Chromebooks. En este documento, se describen los dispositivos Chromebook, Chromebox y Chromebase en los que puedes instalar apps para Android.
Descripción general
La mayoría de los teléfonos Android cuentan con chipsets ARM. Sin embargo, muchos dispositivos con Sistema operativo Chrome usan chips x86. La diferencia no es importante para las apps básicas escritas en Kotlin o Java. Sin embargo, para las apps escritas en código nativo, lo que incluye las creadas con motores de juegos, el chipset del dispositivo puede ser una cuestión importante.
Lo ideal es que todas las apps y los juegos con código nativo se envíen con las principales cuatro ABI (interfaces binarias de aplicación) de Android: armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32), x86_64. De esta manera, cada dispositivo ofrece el mejor rendimiento con el menor consumo de batería. Por ejemplo, un archivo build.gradle
basado en cmake puede contener lo siguiente:
externalNativeBuild { cmake { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } }
Tamaño del APK
Cada ABI de un APK monolítico aumenta su tamaño, lo que puede afectar el uso del disco de los usuarios y el tamaño de descarga de la app, y podría superar los límites de tamaño de Play Store. La mejor manera de evitar esto es usar Android App Bundles, que te permiten agrupar, con facilidad, las cuatro ABI desde Android Studio, pero no aumentan el tamaño de descarga para los usuarios. También facilitan el uso de Dynamic Delivery, lo que les permite a los usuarios descargar contenido de juegos de gran tamaño solo cuando se les solicita. Si los paquetes de aplicaciones no son una opción para ti, puedes usar la versión más antigua de APK múltiple para obtener un comportamiento similar.
Compilaciones de 32 y 64 bits
Todas las apps para Android deben proporcionar una versión de compilación de 64 bits. Una compilación de 32 bits es opcional para dispositivos ARM y x86. Consulta la documentación de 64 bits de Android para obtener más información.
Si bien solo proporcionar compilaciones de 64 bits reduce la cantidad de objetivos de compilación necesarios y la superficie de prueba, también se limitan los tipos de dispositivos que pueden ejecutar el juego. Por ejemplo, debido a otras limitaciones de hardware, muchas Chromebooks antiguas solo pueden ejecutar apps para Android de 32 bits, a pesar de contar con CPU de 64 bits. Para garantizar que la app pueda ejecutarse en esos dispositivos, incluye compatibilidad con 32 y 64 bits.
Traducciones de ARM
Las Chromebooks x86 intentan traducir el código ARM siempre que sea posible, pero la traducción ralentiza el rendimiento y aumenta el uso de la batería. Debes proporcionar compilaciones de x86 para brindar la mejor experiencia del usuario. Si no puedes hacerlo, incluye las ABI arm32 y arm64 en las compilaciones, ya que es posible que algunas Chromebooks x86 no traduzcan el código arm64.
Si bien la traducción del código arm32 está disponible en todas las Chromebooks compatibles con Android, no todas las Chromebooks pueden traducir el código arm64. Eso significa que si el juego solo tiene objetivos de compilación arm64, no estará disponible para una gran cantidad de dispositivos con Sistema operativo Chrome. Si no puedes enviar objetos binarios x86, incluye ABI arm32 y arm64 en tus compilaciones.
ABI incluidas | Compatibilidad con el Sistema operativo Chrome |
---|---|
arm64 | Baja |
arm32/arm64 | Buena (con traducción) |
arm32/arm64/x86_32/x86_64 | La mejor |