Flutter ahora establece abiFilters predeterminados en las compilaciones de Android
El Flutter Gradle Plugin ahora configura automáticamente abiFilters para compilaciones de Android, lo que podría romper las configuraciones personalizadas de abiFilters.
Resumen
#A partir de Flutter 3.35, el Flutter Gradle Plugin establece automáticamente
abiFilters
para compilaciones de Android con el fin de evitar la inclusión de arquitecturas no soportadas
en APKs de lanzamiento. Este cambio puede romper los
abiFilters personalizados especificados en el archivo build.gradle de tu aplicación.
Contexto
#Este cambio se introdujo para solucionar un problema en el que las dependencias de terceros con librerías nativas x86 hacían que Google Play identificara incorrectamente que las aplicaciones de Flutter admitían dispositivos x86. Cuando los usuarios con dispositivos x86 instalaban estas aplicaciones, se producían fallos en tiempo de ejecución porque las librerías nativas de Flutter no están disponibles para x86.
El Flutter Gradle Plugin ahora configura automáticamente abiFilters para
incluir solo las arquitecturas que Flutter soporta. Esto evita
que Google Play ponga las aplicaciones a disposición de dispositivos incompatibles.
Descripción del cambio
#El Flutter Gradle Plugin ahora establece de forma programática abiFilters para
compilaciones no depurables cuando la opción --splits-per-abi no está habilitada
de forma predeterminada para:
armeabi-v7aarm64-v8ax86_64
Debido a que esta configuración automática ocurre antes de que se procesen tus archivos build.gradle,
podría romper las configuraciones personalizadas de abiFilters que dependen de que el
conjunto esté vacío. Flutter puede preservar los abiFilters que configures en
defaultConfig, pero no puede preservar de forma segura cada personalización de filtros ABI de buildTypes
o
productFlavors con las APIs actuales del Android Gradle
Plugin.
Guía de migración
#Si tu aplicación no personaliza abiFilters, no se requieren cambios.
Si tu aplicación necesita personalizar qué arquitecturas se incluyen, tienes varias opciones:
Opción 1: Usa la bandera splits-per-abi
#Si deseas controlar la inclusión de arquitecturas, utiliza la opción integrada
--splits-per-abi de Flutter en lugar de configurar manualmente abiFilters:
flutter build apk --splits-per-abi
Esto crea APKs separados para cada arquitectura y desactiva automáticamente
la configuración automática de abiFilters.
Opción 2: Configura abiFilters en defaultConfig
#Si debes usar un único APK con filtros de arquitectura personalizados, borra los
filtros establecidos automáticamente y configura los tuyos propios en defaultConfig.
Por ejemplo:
android {
defaultConfig {
ndk {
// Clear the automatically set filters.
abiFilters.clear()
// Set your custom filters.
abiFilters.addAll(listOf("arm64-v8a"))
}
}
}
Opción 3: Desactiva el filtrado ABI predeterminado de Flutter
#Si tu aplicación configura filtros ABI en buildTypes o productFlavors,
pasa -Pdisable-abi-filtering=true cuando ejecutes flutter build
o
flutter run. Esto evita que Flutter aplique sus filtros ABI predeterminados,
por lo que la configuración de tu tipo de compilación o sabor de producto controlará qué
arquitecturas se incluyen.
Timeline
#Introducido en la versión: 3.35.0
En la versión estable: 3.35
Issues relevantes:
PRs relevantes:
A menos que se indique lo contrario, la documentación en este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 18-06-2026. Ver código fuente oreportar un problema.