octubre 21, 2025

Garantizando la compatibilidad de las apps Android de Evergine con Google Play

A partir de finales de agosto de 2025, Google Play aplicará nuevos requisitos para la publicación de aplicaciones Android: todas las apps deberán tener como target el SDK 35 de Android.
Esta política busca garantizar que las aplicaciones distribuidas a través de Google Play cumplan con los últimos estándares de seguridad, rendimiento y privacidad del ecosistema Android.
Puedes consultar los detalles completos en la documentación oficial de Google.

Para asegurar que los desarrolladores que usan Evergine puedan seguir publicando sus aplicaciones Android sin inconvenientes, hemos implementado una serie de actualizaciones clave en nuestras plantillas y dependencias nativas. Estos cambios permiten que los proyectos creados con Evergine sigan siendo totalmente compatibles con las políticas actuales y futuras de la plataforma Android.

 

Actualización de las plantillas de Evergine a .NET 9

El primer paso para cumplir con este nuevo requisito ha sido actualizar las plantillas de Android y MAUI de Evergine para que utilicen .NET 9.
Esta actualización permite a los desarrolladores compilar y publicar correctamente aplicaciones que apunten al SDK 35, algo que no podía hacerse de forma fiable con .NET 8.
Con este cambio, los proyectos de Evergine se benefician de una mejor compatibilidad con las últimas herramientas de desarrollo de Android y de una experiencia más fluida al generar builds para Google Play.

Cabe destacar que no todas las plantillas basadas en Android requerían esta modificación. Las que se orientan a plataformas como Meta Quest o Pico XR, que instalan las aplicaciones directamente en los dispositivos sin pasar por Google Play, no se ven afectadas por estas reglas y continuarán funcionando como hasta ahora.

Además, el motor principal de Evergine no se ha migrado todavía a .NET 9. Nuestra estrategia consiste en adoptar nuevas versiones del framework únicamente cuando alcanzan el estado de LTS (Long-Term Support), garantizando así estabilidad a largo plazo en entornos de producción.
Por este motivo, la migración completa del motor se realizará cuando esté disponible .NET 10, la próxima versión LTS.

Estas actualizaciones en las plantillas representan un paso proactivo para que los usuarios de Evergine puedan adaptarse con tiempo a las nuevas políticas de Google de 2025, manteniendo la compatibilidad y la estabilidad entre los distintos entornos Android.

Nueva restricción: tamaños de página de 16 KB en Android 16

Durante el proceso de actualización, también detectamos otro cambio importante que afectará a los desarrolladores incluso antes. A partir de noviembre de 2024, Android 16 exigirá que todas las librerías nativas utilicen tamaños de página de memoria de 16 KB.
Este cambio, de bajo nivel, afecta a la forma en que se compilan y alinean los binarios, y cualquier aplicación que incluya código nativo sin cumplir este requisito no podrá iniciarse en los dispositivos más recientes.

Durante nuestras pruebas, aparecieron varios avisos relacionados con dependencias nativas utilizadas tanto por Evergine como por librerías de terceros. Entre los componentes afectados se encontraban:

libShaderConductor.so, libShaderConductorWrapper.so, libnaga_to_csharp.so (de Evergine.HLSLEverywhere)

  • CognitiveServices.Speech.*.so (de Microsoft.CognitiveServices.Speech)
  • so (de SkiaSharp.NativeAssets.Android)
  • so (de Evergine.OpenAL)
  • so (de Evergine.Bindings.Draco)

Estos avisos indicaban que algunas bibliotecas nativas aún no estaban compiladas con la alineación requerida de 16 KB, lo que nos llevó a revisar y actualizar los paquetes correspondientes para garantizar la compatibilidad con Android 16.

Cómo hemos abordado estos problema

Para asegurar la compatibilidad con los nuevos requisitos técnicos de Android y mantener una experiencia de desarrollo fluida para los usuarios de Evergine, hemos realizado diversas actualizaciones y revisiones de dependencias:

  • Actualización de SkiaSharp y Microsoft Cognitive Services Speech a versiones que ya incluyen binarios nativos correctamente alineados.
  • Actualización del binding de física Bullet en Evergine para incorporar librerías recompiladas que cumplen con la alineación de 16 KB.
  • Alineación de la librería OpenAL utilizada en proyectos Android conforme a la nueva especificación de tamaño de página.
  • Eliminación de la dependencia de Evergine.HLSLEverywhere en los launchers de Android. Este paquete nunca fue necesario en esa plataforma, ya que la compilación de shaders se gestiona de forma distinta. HLSLEverywhere sigue utilizándose en plataformas como Windows, donde los shaders se compilan dinámicamente en tiempo de ejecución.
  • Alineación de futuras librerías nativas. Las nuevas características integradas en Evergine, como el soporte para texturas KTX, ya se distribuyen con binarios alineados a 16 KB para garantizar la compatibilidad desde el primer momento, siempre que dicha funcionalidad incluya soporte para Android.

Estas medidas no solo aseguran la compatibilidad con Android 16, sino que también establecen un nuevo estándar de calidad para los futuros componentes nativos de Evergine, promoviendo proyectos más ligeros, limpios y mantenibles en todas las plataformas.

Mirando hacia el futuro

Con estas actualizaciones, los proyectos Android desarrollados con Evergine están totalmente alineados con la política de Google Play sobre el target SDK 35 y preparados para los nuevos requisitos de tamaño de página de Android 16.
Recomendamos a todos los desarrolladores que actualicen sus plantillas antes de publicar nuevas versiones de sus aplicaciones en Google Play. Esto minimizará posibles problemas de compatibilidad y garantizará que sus aplicaciones sigan funcionando correctamente en los dispositivos Android más recientes.

En Evergine seguimos comprometidos con ofrecer soporte a largo plazo para el desarrollo de aplicaciones 3D y XR industriales, asegurando que los proyectos creados hoy continúen funcionando sin problemas a medida que evolucionan las plataformas móviles.

Sergio Escalada
Author
Sergio Escalada
Plain Concepts Research

¿Ya te vas?

Suscríbete a nuestra newsletter para estar al día de las últimas noticias, casos de éxito y mucho más. 

No mandamos spam y puedes darte de baja en cualquier momento.