En el caso de la versión reciente de nuestro SDK (4.14.1), esta actualización es crítica debido a cambios en el sistema de compilación de Android que afectan directamente el funcionamiento de la app.
En SDKs anteriores a la versión 4.14.1 se ha detectado una incompatibilidad entre el Android Gradle Plugin (AGP) versión 8 y una de las dependencias clave del SDK: Retrofit 2. Esta dependencia no es compatible, por defecto, con una opción de configuración avanzada del AGP 8 llamada minifyEnabled
, que es utilizada para optimización de código.
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Por el momento, toda la batería de pruebas y reportes indica que el problema solo ocurre si el campo
minifyEnabled
está configurado comotrue
en el archivobuild.gradle
, si elminifyEnabled
está afalse
el problema no ocurre aunque desde EMMA recomendamos la actualización.
minifyEnabled
a true
, las llamadas a la API provocan el cierre inesperado de la aplicación. Esto significa que la app no podrá abrirse en modo producción.Para evitar estos problemas, se ha lanzado la versión 4.14.1 del SDK con una configuración específica de Proguard, conocida como Consumer Proguard. Esta configuración permite al SDK manejar de manera interna las reglas de optimización, evitando que el cliente tenga que gestionarlas manualmente y asegurando la compatibilidad.
Consumer Proguard permite que el SDK defina sus propias reglas de optimización, integrándose sin problemas con la configuración de Proguard/R8 de la app del cliente. Al actualizar a la versión 4.14.1 del SDK:
Para garantizar que la aplicación funcione correctamente con la nueva versión del SDK, recomendamos seguir estos pasos:
minifyEnabled
a true
para que las optimizaciones se ejecuten.Este proceso garantiza que los cambios de compatibilidad en el SDK están funcionando correctamente y que la app es estable para los usuarios finales.
Actualizar el SDK a la versión 4.14.1 asegura:
Si se decide no actualizar el SDK, los riesgos incluyen: