Skip to content

Conversation

@jesswrd
Copy link
Contributor

@jesswrd jesswrd commented Apr 8, 2025

Following the directions here 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.

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

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@github-actions github-actions bot added the d: docs/ flutter/flutter/docs, for contributors label Apr 8, 2025
@jesswrd jesswrd requested a review from matanlurey April 8, 2025 23:08
@jesswrd jesswrd changed the title Update Engine to Android 16 (API 36) [WIP] Update Engine to Android 16 (API 36) Apr 8, 2025
@jesswrd jesswrd removed the request for review from matanlurey April 9, 2025 18:23
@github-actions github-actions bot added the engine flutter/engine related. See also e: labels. label Apr 9, 2025
@github-actions github-actions bot removed the d: docs/ flutter/flutter/docs, for contributors label Apr 9, 2025
@github-actions github-actions bot added the platform-android Android applications specifically label Apr 10, 2025
@jesswrd jesswrd changed the title [WIP] Update Engine to Android 16 (API 36) Update Engine to Android 16 (API 36) Apr 10, 2025
@jesswrd jesswrd marked this pull request as ready for review April 10, 2025 22:13
@jesswrd jesswrd requested a review from a team April 10, 2025 22:13
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@ash2moon
Copy link
Contributor

Approved pending checks on any deprecations

@jesswrd
Copy link
Contributor Author

jesswrd commented Apr 11, 2025

Approved pending checks on any deprecations

It looks like deprecation warnings appeared when updating to API 35 (pr here) due to specific android 35 api updates outlined in the release notes here. I am not seeing any deprecation warnings when bumping to API 36.

Edit: confirmed the warnings were from CI when engine was bumped to 35

@jesswrd jesswrd requested a review from camsim99 April 11, 2025 17:44
@jesswrd jesswrd added the autosubmit Merge PR when tree becomes green via auto submit App label Apr 11, 2025
@reidbaker
Copy link
Contributor

Approved pending checks on any deprecations

It looks like deprecation warnings appeared when updating to API 35 (pr here) due to specific android 35 api updates outlined in the release notes here. I am not seeing any deprecation warnings when bumping to API 36.

Edit: confirmed the warnings were from CI when engine was bumped to 35

What are you using to check for deprecation warnings?
I would expect that announceForAccessibility should show up since we know we have not removed that functionality.

https://android-developers.googleblog.com/2025/03/the-third-beta-of-android-16.html

@jesswrd jesswrd requested a review from gmackall May 7, 2025 21:38
recreateSurfaceIfNeeded();
if (surfaceTexture == null || surfaceTexture.isReleased()) {
return null;
if (Build.VERSION.SDK_INT >= API_LEVELS.API_26) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also a behavior change, right? What was the pre-change path like? Would this method (this.getSurface()) have been called on < api 26?

Copy link
Contributor Author

@jesswrd jesswrd May 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the path wasn't removed. I'm wrapping the if statement with a check to ensure isReleased is called on >= api 26. This check is needed at this function because I removed @TargetApi(API_LEVELS.API_26) at the class level.

If it is a behavior change (but I think it isn't), it's required.

Copy link
Member

@gmackall gmackall May 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm it is a behavior change though, right? Before, if called on api 25 the code would happily attempt to call
https://developer.android.com/reference/android/graphics/SurfaceTexture#isReleased()
and probably crash because that api was introduced in android api 26

But now if we try to call getSurface on api 25, we will return a value.

Probably the method should be annotated with @RequiresApi instead, right?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably the method should be annotated with @RequiresApi instead, right?

I say this because presumably before we weren't making a call to this method on API 25 as we would be crashing. So probably this method actually does require api 26+

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay I see what you mean. I'm gonna change it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

Copy link
Member

@gmackall gmackall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks close to good, added some questions

@jesswrd jesswrd requested review from gmackall and reidbaker May 7, 2025 23:36
Copy link
Member

@gmackall gmackall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

Copy link
Contributor

@reidbaker reidbaker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you rerun the gradle lockfile script. I dont see anything in the current pr that should cause bytebuddy to bump in version.

@jesswrd jesswrd added the autosubmit Merge PR when tree becomes green via auto submit App label May 8, 2025
@auto-submit auto-submit bot added this pull request to the merge queue May 8, 2025
Merged via the queue into flutter:master with commit f8b544a May 8, 2025
178 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label May 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 9, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request May 9, 2025
flutter/flutter@02d8c1a...83082c1

2025-05-08 [email protected] [Widget Inspector] Clean-up changes in PR #167677 (flutter/flutter#168488)
2025-05-08 [email protected] Increased the limit where we start chopping off the end of blurs (flutter/flutter#168109)
2025-05-08 [email protected] Roll to Dart SDK 3.9 Beta 1 (flutter/flutter#168559)
2025-05-08 [email protected] Rename apple -> darwin across our buildroot (flutter/flutter#168558)
2025-05-08 [email protected] Update Engine to Android 16 (API 36) (flutter/flutter#166796)
2025-05-08 [email protected] Roll Skia from 43ae814d2d95 to efccaeb08b8d (5 revisions) (flutter/flutter#168554)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
…#9232)

flutter/flutter@02d8c1a...83082c1

2025-05-08 [email protected] [Widget Inspector] Clean-up changes in PR #167677 (flutter/flutter#168488)
2025-05-08 [email protected] Increased the limit where we start chopping off the end of blurs (flutter/flutter#168109)
2025-05-08 [email protected] Roll to Dart SDK 3.9 Beta 1 (flutter/flutter#168559)
2025-05-08 [email protected] Rename apple -> darwin across our buildroot (flutter/flutter#168558)
2025-05-08 [email protected] Update Engine to Android 16 (API 36) (flutter/flutter#166796)
2025-05-08 [email protected] Roll Skia from 43ae814d2d95 to efccaeb08b8d (5 revisions) (flutter/flutter#168554)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
@jesswrd jesswrd changed the title Update Engine to Android 16 (API 36) [Android 16] Bumped Android Defaults in Engine Jun 10, 2025
Ortes pushed a commit to Ortes/packages that referenced this pull request Jun 25, 2025
…#9232)

flutter/flutter@02d8c1a...83082c1

2025-05-08 [email protected] [Widget Inspector] Clean-up changes in PR #167677 (flutter/flutter#168488)
2025-05-08 [email protected] Increased the limit where we start chopping off the end of blurs (flutter/flutter#168109)
2025-05-08 [email protected] Roll to Dart SDK 3.9 Beta 1 (flutter/flutter#168559)
2025-05-08 [email protected] Rename apple -> darwin across our buildroot (flutter/flutter#168558)
2025-05-08 [email protected] Update Engine to Android 16 (API 36) (flutter/flutter#166796)
2025-05-08 [email protected] Roll Skia from 43ae814d2d95 to efccaeb08b8d (5 revisions) (flutter/flutter#168554)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC [email protected],[email protected] on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels. platform-android Android applications specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants