
[TECH] Preparing for the new Google Play 64bit support policies
[ Prepare sus aplicaciones para el requisito de 64 bits de Google ]Desde el 1 de agosto de 2019 :
- Todas las nuevas aplicaciones y actualizaciones de aplicaciones con código nativo deben proporcionar versiones de 64 bits además de 32 bits al cargarlas en Google Play.
- El tema de la extensión del plazo: Google Play seguirá permitiendo actualizaciones dedicadas de 32 bits para los servicios de juegos existentes que utilicen Unity 5.6 o versiones anteriores hasta agosto de 2021.
Desde el 1 de agosto de 2021 :
- Google Play dejará de ofrecer aplicaciones que no tengan versiones de 64 bits en dispositivos habilitados para 64 bits y, por lo tanto, esos dispositivos dejarán de estar disponibles en Play Store. (incluidos los juegos creados con Unity 5.6 o una versión anterior)
- Estos requisitos no se aplican a los servicios que se indican a continuación.
Un APK o un paquete de aplicaciones que se dirige explícitamente a Wear OS o Android TV, formatos que actualmente no admiten código de 64 bits
Un APK o un paquete de aplicaciones que no se puede distribuir a dispositivos que ejecutan una versión superior a Android 9 Pie.
El sistema Android tradicional de 64 bits ha estado funcionando con el modo de 32 bits con su sistema compatible con 32 bits, sin embargo, la biblioteca dinámica nativa (.so) para 64 bits no está presente.
Parece ser una política que se debe a una falla operativa efectiva, ya que incluso los dispositivos de alto rendimiento de 64 bits pudieron funcionar con un sistema de memoria de 32 bits.
Desde el 1 de agosto de 2019, la política mencionada anteriormente se aplica a todas las aplicaciones, excepto a los servicios que utilizan un motor registrado existente que sea Unity 5.6 o anterior.
Como resultado de estas políticas, se deben cumplir los siguientes elementos al actualizar aplicaciones o registrar nuevas aplicaciones en Play Store desde el 1 de agosto de 2019.
1. Abra un archivo APK o AAB mediante un archivo zip
2. Compruebe si existe el directorio "lib". (En el caso de AAB, compruebe base/lib).
Si el directorio como "armeabi-v7a" y "armeabi" existe en la parte inferior de la biblioteca y el archivo .so existe dentro, se puede determinar que la aplicación está usando la biblioteca dinámica nativa.
Si existe 'arm64-v8a' en la parte inferior del directorio lib y los archivos que existen en la parte inferior del directorio, como 'armeabi-v7a' y 'armeabi', están en 'arm64-v8a', se puede determinar que la aplicación relevante es una que admite 64 bits.
Y si no existe una carpeta 'lib' cuando realiza el trabajo mencionado anteriormente, no hay necesidad de preocuparse por esta política, ya que se puede concluir que su aplicación no usa la biblioteca dinámica nativa.
Si la carpeta 'arm64-v8a' está presente en el paquete de su aplicación, los pasos a continuación lo ayudarán a determinar si su aplicación realmente se está ejecutando en modo de 64 bits en un dispositivo de 64 bits.
1. Verifique si el dispositivo conectado es de 64 bits.- El dispositivo es de 64 bits si el valor final de adb shell getprop ro.product.cpu.abi en progreso es 'arm64-v8a'.
2. Comprueba si el valor final del campo es 'arm64-v8a' añadiendo Build.SUPPORTED_ABIS (por encima del nivel de API 21) y Build.CPU_ABI (por debajo del nivel de API 21) al código fuente de la aplicación.
Si aparece 'arm64-v8a' al ejecutar la aplicación, significa que la aplicación actualmente es compatible con 64 bits y ya cumple con los requisitos de esta política.
Sin embargo, si descubres que tu aplicación no es compatible con 64 bits, tendrás que añadir una biblioteca dinámica nativa compilada para 64 bits.
Esta política ha hecho que muchos servicios de aplicaciones preparen el modo de 64 bits y ha provocado un fenómeno en el que la capacidad de los paquetes de aplicaciones aumenta a medida que se añade una nueva biblioteca dinámica nativa para 64 bits. En respuesta, varios servicios de aplicaciones también están intentando resolver el problema cambiando a un AAB (Android App Bundle).

En el caso de IL2CPP, el código fuente desarrollado por los usuarios existe en una única forma de .dll dentro de los "recursos" durante el modo MONO tal como se encuentra. Sin embargo, por otro lado, UNITY utiliza el modo IL2CPP para admitir 64 bits, que se proporciona en forma de un archivo de biblioteca dinámica nativa de libil2cpp.so en la parte inferior del directorio "lib" del paquete.
El archivo libil2cpp.so debe seguir esta política porque es una biblioteca dinámica nativa y requiere tanto 32 bits como 64 bits. Es posible que descubra una mayor capacidad del paquete de aplicaciones en el momento de la compilación de la aplicación.
Android App Bundle (AAB) se utiliza ampliamente para abordar este problema, ya que muestra velocidades de descarga más rápidas y un tamaño reducido al permitir la instalación de una biblioteca nativa y recursos que se adaptan al dispositivo que se utiliza para descargar la aplicación desde Play Store.
En la próxima publicación se tratará más información tecnológica sobre AAB.
LIAPP admite funciones de seguridad estables en el sistema de 64 bits
LIAPP le ofrece el mejor servicio.