# Flutter “Deleted Android v1 Embedding” Build Error: The Fix

> Build failed due to use of deleted Android v1 embedding? Flutter 3.29 removed v1. The AndroidManifest and MainActivity fixes, from docs checked Oct 21, 2026.

Canonical: https://app369.com/blog/flutter-deleted-android-v1-embedding-build-failed-2026/
Last updated: 2026-10-21

[![Simon Dziak](https://app369.com/.netlify/images?w=48&amp;h=48&amp;fm=webp&amp;q=100&amp;url=%2Fimages%2Fszymon.jpg) **Simon Dziak** Founder & developer, App369](https://app369.com/about/szymon-dziak/) [LinkedIn](https://www.linkedin.com/in/szymondziak/)

Published October 18, 2026 · Updated October 21, 2026•Facts last verified October 21, 2026•7 min

App369https://app369.com/blog/flutter-deleted-android-v1-embedding-build-failed-2026/

[← Back to Blog](https://app369.com/blog/)

## Key takeaways

- →Flutter removed the Android v1 embedding in Flutter 3.29, released on February 12, 2025. Classes such as io.flutter.app.FlutterActivity, io.flutter.app.FlutterApplication and io.flutter.view.FlutterView no longer exist.
- →The Flutter tool treats an app as v1, and stops with "Build failed due to use of deleted Android v1 embedding", when its AndroidManifest.xml uses io.flutter.app.FlutterApplication or lacks <meta-data android:name="flutterEmbedding" android:value="2"/>.
- →The app fix is Flutter's own migration: change the FlutterActivity import, move custom channel setup into configureFlutterEngine, set android:name="${applicationName}" and add the flutterEmbedding meta-data with value 2.
- →A plugin that still has a registerWith(PluginRegistry.Registrar) method fails to compile instead. Flutter's build output suggests flutter pub upgrade, and plugin authors should delete registerWith.
- →The v2 embedding arrived in Flutter 1.12 in December 2019, and flutter create stopped making v1 projects in Flutter 1.22, so, in my view, the apps hit now are mostly ones created before 2020 and not updated since.

Pricing an app? Try the free [app cost calculator](https://app369.com/tools/app-cost-calculator/) or get a range for your project in the [instant quote](https://app369.com/instant-quote/).

**If `flutter build` stops with “Build failed due to use of deleted Android v1 embedding”, your Android project still uses the wrapper Flutter removed in Flutter 3.29.** For a project that came straight from `flutter create`, Flutter’s guide changes two files: `MainActivity` and `AndroidManifest.xml`. Custom channel code or a splash screen adds a little more. If the build instead fails inside a plugin with `cannot find symbol` and `PluginRegistry.Registrar`, the plugin is the problem, and a newer version of it usually fixes it.

If you landed here from an old link to Flutter’s “Upgrading pre 1.12 Android projects” wiki page or an old `flutter.dev/go` migration link, this is what changed and where the steps live now. The facts come from Flutter’s breaking-change docs, its migration guide and the Flutter tool’s source code, as listed in the sources. I checked each one on October 21, 2026.

**Disclosure:** App369 is my studio. I build and fix Flutter apps, and the last section mentions what I sell. Google doesn’t pay me for anything on this page.

## What happened to the v1 embedding, and when

| Date | What happened | Source |
| --- | --- | --- |
| December 11, 2019 | Flutter 1.12 reaches stable with the v2 Android embedding (`io.flutter.embedding`) | [Flutter deprecation page](https://docs.flutter.dev/release/breaking-changes/android-v1-embedding-create-deprecation), [release archive](https://storage.googleapis.com/flutter_infra_release/releases/releases_macos.json) |
| October 1, 2020 | Flutter 1.22: `flutter create` only makes v2 apps and plugins. Existing v1 apps keep working, but get a migration warning when they use plugins | [Flutter deprecation page](https://docs.flutter.dev/release/breaking-changes/android-v1-embedding-create-deprecation) |
| **February 12, 2025** | **Flutter 3.29 removes the v1 embedding Java classes** | [Flutter removal page](https://docs.flutter.dev/release/breaking-changes/v1-android-embedding), [release archive](https://storage.googleapis.com/flutter_infra_release/releases/releases_macos.json) |

Flutter’s deprecation page says that by Q2 2020 only 26% of applications used the v1 embedding. In my view, the apps that still hit this error are usually ones created before 2020 and moved to a new Flutter version for the first time in years. For the other changes that shipped in 3.29, such as Impeller becoming the only renderer on iOS, see my [Flutter 3.29 overview](https://app369.com/blog/flutter-3-29-app369-business-wins/).

### What the old addresses do today

Checked on October 21, 2026:

- The **“Upgrading pre 1.12 Android projects”** page on the Flutter GitHub wiki now only says it has moved, and links to the same page in the Flutter repository’s `docs` folder.
- **flutter.dev/go/android-project-migration** now redirects to Flutter’s **AndroidX migration** page, which doesn’t cover the v1 embedding. The embedding steps are in the repository doc above.
- **flutter.dev/go/android-plugin-migration** redirects to “Supporting the new Android plugins APIs”, which is still the right page for plugin authors.

## Why Flutter says your app is v1

The check is in the Flutter tool’s `project.dart`. It reads `android/app/src/main/AndroidManifest.xml` and treats the app as v1 when:

- the `<application>` tag has `android:name="io.flutter.app.FlutterApplication"`, or
- there is a `flutterEmbedding` meta-data tag with value `1`, or
- there is no `<meta-data android:name="flutterEmbedding" android:value="2"/>` at all, or
- the manifest file is missing.

Any of those ends the build with “Build failed due to use of deleted Android v1 embedding.” The tool skips this check for add-to-app modules and plugins.

## Fixing the app

These are the steps from Flutter’s [Upgrading pre 1.12 Android projects](https://github.com/flutter/flutter/blob/master/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md) guide, for a project made with `flutter create`.

1. **Update `MainActivity`.** Change `import io.flutter.app.FlutterActivity` to `import io.flutter.embedding.android.FlutterActivity` and delete the `onCreate` override that calls `GeneratedPluginRegistrant.registerWith(this)`. The new `FlutterActivity` registers plugins itself.```
import io.flutter.embedding.android.FlutterActivity

class MainActivity: FlutterActivity()
```If your file is `MainActivity.java`, the guide’s result is the same: `import io.flutter.embedding.android.FlutterActivity;` and `public class MainActivity extends FlutterActivity {}`.
2. **Move any platform channel code.** If `onCreate` also set up a `MethodChannel`, move it into a `configureFlutterEngine(flutterEngine)` override, and use `flutterEngine.getDartExecutor().getBinaryMessenger()` instead of `getFlutterView()`. The guide’s example also calls `GeneratedPluginRegistrant.registerWith(flutterEngine)` at the start of that override.
3. **Fix the application tag.** In `AndroidManifest.xml`, replace `android:name="io.flutter.app.FlutterApplication"` with `android:name="${applicationName}"`.
4. **Declare the v2 embedding.** Add this inside `<application>`:```
<meta-data
    android:name="flutterEmbedding"
    android:value="2" />
```
5. **Update the splash screen if you had one.** Remove meta-data named `io.flutter.app.android.SplashScreenUntilFirstFrame`. The guide shows the replacement: a `LaunchTheme` and a `NormalTheme` in `styles.xml`, set on the activity.
6. **Rebuild.** The guide says the app should then build as normal, for example with `flutter build apk`. My advice: run `flutter clean` first, and `flutter pub upgrade` too, because a project this old usually has plugins that are out of date as well.

If your own code uses other removed classes, Flutter’s [removal page](https://docs.flutter.dev/release/breaking-changes/v1-android-embedding) lists the replacements:

| Removed class | Use instead |
| --- | --- |
| `io.flutter.app.FlutterActivity` | `io.flutter.embedding.android.FlutterActivity` |
| `io.flutter.app.FlutterFragmentActivity` | `io.flutter.embedding.android.FlutterFragmentActivity` |
| `io.flutter.app.FlutterApplication` | Removed. Extend `android.app.Application` if you need a custom one |
| `io.flutter.app.FlutterPlayStoreSplitApplication` | `io.flutter.embedding.android.FlutterPlayStoreSplitApplication` |
| `io.flutter.view.FlutterMain` | `io.flutter.embedding.engine.loader.FlutterLoader` |
| `io.flutter.view.FlutterView` and `FlutterNativeView` | `io.flutter.embedding.android.FlutterView` |

For add-to-app projects, the same guide has a separate section: remove calls to `FlutterMain.startInitialization` and `ensureInitializationComplete`, and replace the `io.flutter.facade` classes.

## Fixing a plugin that still uses PluginRegistry.Registrar

If the error points at a plugin, its Android code usually still has a `registerWith(PluginRegistry.Registrar registrar)` method. That API was removed with the rest of the v1 embedding. When the Flutter tool sees that line in a failed build, it prints its own advice: run `flutter pub upgrade` to get newer plugin versions, and file an issue if that doesn’t help.

- **If you use the plugin:** upgrade it, as the tool suggests. My advice: if `flutter pub upgrade` doesn’t move it, check pub.dev for a newer major version and run `flutter pub upgrade --major-versions`. If the plugin has had no release in years, replace it.
- **If you maintain the plugin:** Flutter’s removal page says to delete the `registerWith` method from your `FlutterPlugin` implementation. The Flutter team did the same for its own plugins in flutter/packages#6494.

Old projects often fail on more than one thing. If the next error is “Unsupported class file major version”, your Java is newer than your Gradle: see [the Java and Gradle version fix](https://app369.com/fix/flutter-unsupported-class-file-major-version/).

## Need a hand?

If an older Flutter app won’t build after an upgrade, the [App Fix Ticket](https://app369.com/fixed-price/flutter-firebase-bug-fix/) covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days and comes as a pull request. If the iOS side broke too, see [Flutter iOS build failed after an upgrade](https://app369.com/blog/flutter-ios-build-failed-after-upgrade-2026/), or [send me a short description](https://app369.com/contact/).

## **Want this done at a fixed price?**

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

- [**App Fix Ticket**from $450One reproducible bug in an existing mobile or web app, diagnosed and fixed.](https://app369.com/fixed-price/flutter-firebase-bug-fix/)

## **Frequently asked questions**

<dl>

<dt>**What does "Build failed due to use of deleted Android v1 embedding" mean?**</dt>
<dd>The Flutter tool decided your Android app still uses the old v1 embedding, which was removed in Flutter 3.29. In Flutter's source, that happens when AndroidManifest.xml uses io.flutter.app.FlutterApplication, or has no flutterEmbedding meta-data with value 2, or the AndroidManifest.xml file is missing.</dd>

<dt>**How do I fix the deleted Android v1 embedding error?**</dt>
<dd>Follow Flutter's "Upgrading pre 1.12 Android projects" steps: import io.flutter.embedding.android.FlutterActivity in MainActivity, remove the old onCreate plugin registration, set android:name="${applicationName}" on the application tag, and add <meta-data android:name="flutterEmbedding" android:value="2"/> inside <application>.</dd>

<dt>**Which Flutter version removed the v1 embedding?**</dt>
<dd>Flutter 3.29. Flutter's breaking-change page says the removal landed in 3.28.0-0.1.pre and shipped in stable 3.29, which Flutter's release archive dates February 12, 2025.</dd>

<dt>**Why does a plugin fail with "cannot find symbol" PluginRegistry.Registrar?**</dt>
<dd>The plugin usually still has a registerWith method that takes a PluginRegistry.Registrar, a v1 API removed in Flutter 3.29. Flutter's build output suggests running flutter pub upgrade to get a newer plugin version. If no fixed version exists, the method has to be removed from the plugin.</dd>

<dt>**Can I keep using the v1 embedding on an older Flutter version?**</dt>
<dd>Flutter's breaking-change page says it was removed in 3.29, so earlier versions still have it. In my view, pinning an old Flutter only delays the fix. Newer plugin versions and store requirements move on, and for a standard flutter create project the migration changes two files.</dd>

</dl>

## **Sources**

1. [Flutter docs, Removal of v1 Android embedding Java APIs (last updated July 31, 2026)](https://docs.flutter.dev/release/breaking-changes/v1-android-embedding)
2. [Flutter docs, Android v1 embedding app and plugin creation deprecation](https://docs.flutter.dev/release/breaking-changes/android-v1-embedding-create-deprecation)
3. [Flutter on GitHub, Upgrading pre 1.12 Android projects](https://github.com/flutter/flutter/blob/master/docs/platforms/android/Upgrading-pre-1.12-Android-projects.md)
4. [Flutter docs, Supporting the new Android plugins APIs](https://docs.flutter.dev/release/breaking-changes/plugin-api-migration)
5. [Flutter on GitHub, flutter_tools project.dart (embedding check)](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/project.dart)
6. [Flutter on GitHub, flutter_tools gradle_errors.dart (v1 embedding plugin handler)](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/gradle_errors.dart)
7. [Flutter release archive (macOS)](https://storage.googleapis.com/flutter_infra_release/releases/releases_macos.json)

Tags

#build failed due to use of deleted android v1 embedding #flutter v1 embedding #flutter v2 embedding migration #flutterEmbedding meta-data #io.flutter.app.FlutterActivity #PluginRegistry.Registrar cannot find symbol #registerWith registrar flutter plugin #flutter 3.29 android build error #upgrading pre 1.12 android projects

Generated from app369.com . © 2026 App369. All rights reserved.

**Share:**

[Share on Twitter](https://twitter.com/intent/tweet?text=Flutter%20%22Deleted%20Android%20v1%20Embedding%22%20Build%20Error%3A%20The%20Fix&amp;url=https%3A%2F%2Fapp369.com%2Fblog%2Fflutter-deleted-android-v1-embedding-build-failed-2026%2F) [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fapp369.com%2Fblog%2Fflutter-deleted-android-v1-embedding-build-failed-2026%2F) [Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fapp369.com%2Fblog%2Fflutter-deleted-android-v1-embedding-build-failed-2026%2F)

## **Related Resources **

[Flutter "Applying Gradle Plugin Imperatively" Error: The Fix](https://app369.com/blog/flutter-gradle-plugin-applied-imperatively-fix-2026/) [Flutter iOS Build Failed After an Upgrade? Fix CocoaPods and Xcode Errors (2026)](https://app369.com/blog/flutter-ios-build-failed-after-upgrade-2026/) [Flutter Android Build Fails After AGP 9: The Fix](https://app369.com/blog/flutter-android-gradle-plugin-9-build-failed-fix-2026/) [Expo and Flutter Build Errors: 12 Fixes (2026)](https://app369.com/blog/expo-flutter-build-errors-fixes-2026/) [JCenter Shutdown: Fixing Old Android and Flutter Builds](https://app369.com/blog/jcenter-bintray-shut-down-fix-android-flutter-builds-2026/) [Google Play 16 KB Page Size: Fixing Flutter and Android Apps](https://app369.com/blog/google-play-16kb-page-size-flutter-android-2026/)

## **Related guides **

[<h3>**Flutter iOS Build Failed After an Upgrade? Fix CocoaPods and Xcode Errors (2026)**</h3>Flutter iOS build failed after upgrading Flutter, FlutterFire or Xcode? How to read the real error, then fix CocoaPods, deployment target and plugin mismatches.**Read more **](https://app369.com/blog/flutter-ios-build-failed-after-upgrade-2026/) [<h3>**JCenter Shutdown: Fixing Old Android and Flutter Builds**</h3>JCenter shutdown: Bintray closed in 2021 and Gradle 9 removed jcenter(). How to fix an old Android or Flutter build that still uses it, checked Oct 18, 2026.** Read more **](https://app369.com/blog/jcenter-bintray-shut-down-fix-android-flutter-builds-2026/) [<h3>**How to Debug a Flutter and Firebase Bug: Find the Root Cause (2026)**</h3>Find the root cause of a Flutter and Firebase bug: reproduce it, read the right logs, isolate it with the Emulator Suite, and fix the five most common issues.** Read more **](https://app369.com/blog/how-to-debug-a-flutter-firebase-bug-2026/)