| # Removing support for an Android API level in Flutter (go/flutter-android-remove-api-level) |
| |
| ## Objective |
| |
| Provides a list of areas to consider and examples of former work for how to update Flutter to no longer support an old version of the Android API. |
| |
| ### Overview |
| After Flutter has decided to bump the minimum supported Android SDK, ideally through a justification document like http://goto.google.com/rfc-flutter-android-m-deprecation, this document covers what to update and suggests an order. |
| |
| #### Google3 |
| Googlers should start by following the Google3 migration steps defined in go/flutter-android-g3-minsdk-version. |
| Google apps can be migrated to a higher minimum API level before Flutter drops support. |
| |
| #### Bump templates used in `flutter create` |
| Templates take the least justification or configuration to bump. |
| Example PR: https://github.com/flutter/flutter/pull/170882 |
| |
| #### Add auto migration for apps targeting deprecated APIs. |
| |
| Example PR: https://github.com/flutter/flutter/pull/170882 `android_project_migration_test.dart` |
| |
| #### Modify tooling to enforce a new minimum version. |
| |
| Example PR: https://github.com/flutter/flutter/pull/170882 see `DependencyVersionChecker.kt` and `gradle_utils.dart` |
| |
| #### Update the engine minSdk and tests |
| [Upgrading-Engine's-Android-API-version.md](Upgrading-Engine's-Android-API-version.md) |
| |
| #### Breaking change notice |
| Create a breaking change notice for the next stable release. |
| |
| See "Minimum Android SDK has changed" in [Flutter 3.35 Technical Blog Post](https://blog.flutter.dev/whats-new-in-flutter-3-35-c58ef72e3766). |
| |
| #### Update documentation |
| |
| Update documentation page to indicate the old API is not tested: https://docs.flutter.dev/reference/supported-platforms. |
| |
| Example PR: https://github.com/flutter/website/pull/12230 |
| |
| ##### Issue hygiene |
| Close all GitHub issues against the deprecated platform. |
| |
| #### Packages |
| After a stable build is published with the new minimum Android API level. |
| |
| 1. Update all existing Flutter maintained plugins to use the new stable Flutter version. |
| 2. Audit native Android code in any plugins that have no longer used codepaths and delete those codepaths. |
| |
| Example PRs: |
| * https://github.com/flutter/packages/pull/9851 |
| * https://github.com/flutter/packages/pull/9987 |
| * https://github.com/flutter/packages/pull/10470 |
| |
| |
| #### Related documents |
| |
| Example tracking bug for `minSdk` 24 https://github.com/flutter/flutter/issues/170807 |
| Google3 documentation go/flutter-android-g3-minsdk-version |