Following the directions [here](https://github.com/flutter/flutter/blob/main/docs/platforms/android/Upgrading-Engine's-Android-API-version.md) to update engine to android 16. 1. Uploaded api 36 SDK to CIPD using the script from the above docs 2. Updates in Engine to use api 36 - Updated buildroot - Updated SDK CIPD package in `DEPS` - Updated android build tools - Updated `targetsdk` and `compilesdk` 3. Confirm the engine sucessfully builds. I ran `et build -c android_debug_unopt_arm64` 4. Bumped the gradle version in this PR due to seeing this warning [here](https://github.com/flutter/flutter/blob/master/docs/platforms/android/New-Android-version.md#:~:text=Update%20Gradle/AGP%20support). Note: Post mono-repo merge, we can now update buildroot and `DEPS` in the same PR 🎊 !!! Also, updated the Clang path due to use of a new Clang version in the bumped ndk. Partially Addresses #166950 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Updating the Embedding Dependencies
The instructions in this README explain how to create a CIPD package that
contains the build-time dependencies of the Android embedding of the Engine,
and the dependencies of the in-tree testing framework. The Android embedder is
shipped to Flutter end-users, but these build-time dependencies are not.
Therefore, the license script can skip over the destination of the CIPD package
in an Engine checkout at src/third_party/android_embedding_dependencies.
Even so, the CIPD package should contain a LICENSE file, and the instructions
below explain how to fetch the license information for the dependencies.
Requirements
- If you have a flutter/engine checkout, then you should already have Depot tools on your path.
- You should have a copy of
gradlein a flutter/engine checkout undersrc/third_party/gradle/bin/gradle.
Steps
- Update
src/flutter/tools/androidx/files.json. (This file includes the Maven dependencies used to build Flutter apps). cdinto this directory:src/flutter/tools/cipd/android_embedding_bundle.- Run
gradle downloadLicenses - Run
gradle updateDependencies - Examine the file
./build/reports/license/license-dependency.xml. If it contains licenses other than "The Apache License, Version 2.0" or something very similar, STOP. Ask Hixie for adivce on how to proceed. - Copy or move the
lib/directory tosrc/third_party/android_embedding_dependencies/, overwriting its contents, and ensure the Android build still works. - Run
cipd create --pkg-def cipd.yaml -tag last_updated:"$version_tag"where$version_tagis the output ofdate +%Y-%m-%dT%T%z. - Update the
DEPSfile entry forandroid_embedding_dependencieswith the new tag:last_updated:"$version_tag". - Update the GN list
embedding_dependencies_jarsinsrc/flutter/shell/platform/android/BUILD.gn.
Updating Gradle Lockfiles in the Framework After Adding Dependencies
If you land a pr that changes the versions of the embedding dependencies,
or adds a new dependency and makes use of it, you will also need to
perform a manual roll of that change to the framework that re-generates
the Gradle lockfiles using the script at
<framework_repo>/dev/tools/bin/generate_gradle_lockfiles.dart
(run with the --no-gradle-generation and --no-exclusion flags).