La librería Rive utiliza código nativo, lo que significa que debe estar alineada a 16 KB para evitar problemas de compatibilidad en Android. Sin embargo, algunas bibliotecas no cumplen con esta alineación, lo que puede impedir que toda tu aplicación esté correctamente alineada.
Bibliotecas que presentan incompatibilidad con la alineación de 16 KB:
base/lib/arm64-v8a/librive_text.so
base/lib/x86_64/librive_text.so
Aunque alinees el resto de tu aplicación a 16 KB, si Rive no está alineada, la alineación global de tu app no será efectiva.
En este artículo te explico cómo resolver este problema paso a paso.
Paso 1: Seguir la guía de compatibilidad de 16 KB en Flutter
Antes de comenzar, asegúrate de haber completado todos los pasos del siguiente artículo: Cómo solucionar el problema de compatibilidad de 16 KB en Flutter
Deberías haber hecho lo siguiente:
Establecer una relación adecuada entre el Plugin de Gradle para Android (AGP) y Gradle en Flutter, utilizando al menos la versión AGP 8.5.1 o superior.
Tener instalada una versión del NDK R28 o superior
Paso 2: Actualizar Rive a la última versión
Asegúrate de tener la versión más reciente de Rive instalada en tu proyecto.
Consulta aquí la última versión de la librería de rive: https://pub.dev/packages/rive/versions
Paso 3: Verificar la versión del NDK en tu proyecto
Necesitamos saber qué versión del NDK estás utilizando. Puedes encontrarla en tu archivo build.gradle
Por ejemplo, en mi caso tengo la siguiente versión: ndkVersion "29.0.14033849"
Paso 4: Configurar gradle.properties
Agrega las siguientes líneas en tu archivo gradle.properties:
rive.ndk.version=29.0.14033849
android.ndk.suppressMinSdkVersionError=21
En rive.ndk.version, asegúrate de usar la misma versión del NDK que identificaste en el paso anterior.
Paso 5: Limpiar y reconstruir el proyecto
Elimina archivos temporales y cachés:
flutter clean
Actualiza todas las dependencias a sus versiones más recientes permitidas según tu pubspec.yaml:
flutter pub upgrade
Compila tu aplicación en modo release en formato AAB (Android App Bundle):
flutter build appbundle --release
Paso 6: Subir la app al market y verificar
Sube tu aplicación a Google Play Console y revisa los detalles de la compilación para confirmar que todo esté correctamente alineado a 16 KB.
Conclusión
Siguiendo estos pasos aseguras que la librería Rive y toda tu aplicación estén correctamente alineadas a 16 KB, cumpliendo con los requisitos de compatibilidad de Page Size 16 KB para Android. Esto puede evitar problemas en producción y mejorar la estabilidad de tu aplicación.