Starting in Flutter 3.35, the Flutter Gradle Plugin automatically sets `abiFilters` for Android builds to prevent the inclusion of unsupported architectures in release APKs. This change can break custom `abiFilters` specified in your app's `build.gradle` file.
Original behavior
This change was introduced to solve an issue where third-party dependencies with x86 native libraries would cause Google Play to incorrectly identify Flutter apps as supporting x86 devices. When users with x86 devices installed these apps, they would crash at runtime because Flutter's native libraries aren't available for x86.
New behavior
The Flutter Gradle Plugin now programmatically sets `abiFilters` for non-debuggable builds when the `--splits-per-abi` option is not enabled by default to: - `armeabi-v7a` - `arm64-v8a` - `x86_64`
- Who is affected
- Applications and packages relying on the previous behaviour or signature.
- Practical impact
- Behaviour or API differences that can break builds or change runtime behaviour.
- What action should I take?
- Follow the official migration guide below, update affected call sites, run `dart fix --apply` where a fix is available, then run your tests.
Official migration guide (excerpt, © The Flutter Authors, CC BY 3.0)
If your app doesn't customize abiFilters, no changes are required.
If your app needs to customize which architectures are included, you have several options:
Option 1: Use the splits-per-abi flag
If you want to control architecture inclusion, use Flutter's built-in
--splits-per-abi option instead of manually configuring abiFilters:
flutter build apk --splits-per-abiThis creates separate APKs for each architecture and automatically disables
the automatic abiFilters configuration.
Option 2: Configure abiFilters in defaultConfig
If you must use a single APK with custom architecture filters, clear the
automatically set filters and configure your own in defaultConfig.
For example:
android {
defaultConfig {
ndk {
// Clear the automatically set filters.
abiFilters.clear()
// Set your custom filters.
abiFilters.addAll(listOf("arm64-v8a"))
}
}
}Option 3: Disable Flutter's default ABI filtering
If your app configures ABI filters in buildTypes or productFlavors,
pass -Pdisable-abi-filtering=true when running flutter build or
flutter run. This prevents Flutter from applying its default ABI filters,
so your build type or product flavor configuration controls which
architectures are included.
AI_PROVIDER (for example to openai-compatible with a local Ollama or LM Studio endpoint) to enable grounded explanations. Everything else on this page works without an AI provider.Listed in the official breaking-changes index (docs.flutter.dev/release/breaking-changes).
An official announcement or migration guide documents an intended behaviour or API change. A verified source change (git diff) shows code changed but does not by itself prove a public API is breaking. AI interpretations are labelled and never used to classify a change.
- Source commit
- b3045439b7c0
- Source last updated
- Oct 21, 2026
- Last synchronized
- Oct 21, 2026
- Publication status
- published
Publication history
- Oct 21, 2026, 8:31 PM: new → published (ingestion) — Backed by an official breaking-change/migration guide.
AI_PROVIDER (for example to openai-compatible with a local Ollama or LM Studio endpoint) to enable grounded explanations. Everything else on this page works without an AI provider.