Repository navigation
Split pre-AGP 8.3 module AAR test into a Java 17 pinned target - #193467
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the build_android_host_app_with_module_aar task by moving the ModuleTest implementation and its helper functions to a shared library file, allowing it to be reused. It also introduces a new CI target and task, android_java17_build_android_host_app_with_module_aar, pinned to Java 17 to support testing older Gradle/AGP versions (Gradle 8.4 and AGP 8.2.1) that are incompatible with newer JDKs. Feedback suggests simplifying the new task file by removing the unnecessary combine helper since it only executes a single test.
| /dev/devicelab/bin/tasks/android_engine_flags_release_test.dart @camsim99 @flutter/android | ||
| /dev/devicelab/bin/tasks/android_intent_security_test.dart @camsim99 @flutter/android | ||
| /dev/devicelab/bin/tasks/android_java11_dependency_smoke_tests.dart @jesswrd @flutter/android | ||
| /dev/devicelab/bin/tasks/android_java17_build_android_host_app_with_module_aar.dart @mboetger @flutter/android |
There was a problem hiding this comment.
not that it matters but why matt
There was a problem hiding this comment.
becaue he owned the og:
Line 248 in 9c93149
ok but let me update it to me. Makes sense since I made this change.
flutter/flutter@55b8f88...d649d2b 2026-09-30 [email protected] [Android] Update the CLI to reject passing engine configuration flags with a prebuilt binary in release mode (flutter/flutter#190870) 2026-09-30 [email protected] Roll Skia from af1e8b356dd1 to c7b323126bf0 (1 revision) (flutter/flutter#193569) 2026-09-30 [email protected] [web] Respect text affinity in getLineBoundary at a soft wrap (flutter/flutter#192664) 2026-09-30 [email protected] [tool] Migrate TestCommand and platform runner to modular dependency injection (flutter/flutter#190789) 2026-09-30 [email protected] Roll Skia from 3a20a0464d25 to af1e8b356dd1 (1 revision) (flutter/flutter#193564) 2026-09-30 [email protected] Roll Skia from 554ef62d11a9 to 3a20a0464d25 (6 revisions) (flutter/flutter#193556) 2026-09-30 [email protected] Use null aware elements in `platform_views.dart` (flutter/flutter#193214) 2026-09-30 [email protected] Replace deprecated `withOpacity` in `flutter_logo.dart` (flutter/flutter#192583) 2026-09-30 [email protected] Roll Skia from f441ca223b2b to 554ef62d11a9 (72 revisions) (flutter/flutter#193548) 2026-09-30 [email protected] Fix StrcmpFixed matching prefixes in the Vulkan embedder tests (flutter/flutter#192999) 2026-09-30 [email protected] Update Engine to test Android 17 AVD (flutter/flutter#193239) 2026-09-29 [email protected] Give the Vulkan test context the extensions Impeller requires (flutter/flutter#193002) 2026-09-29 [email protected] Rename "subtext" to "supportingTextPadding" in `FormField`'s documentation (flutter/flutter#183582) 2026-09-29 [email protected] Set --no-js-strongly-connected-components for DDC compiles by default (flutter/flutter#193485) 2026-09-29 [email protected] Split pre-AGP 8.3 module AAR test into a Java 17 pinned target (flutter/flutter#193467) 2026-09-29 [email protected] Remove no-shuffle from gen_defaults_test (flutter/flutter#192280) 2026-09-29 [email protected] Update guidance on bumping Dart (flutter/flutter#193131) 2026-09-29 [email protected] Remove vestigial `download_jdk` gclient var (flutter/flutter#188571) 2026-09-29 [email protected] Roll pub packages (flutter/flutter#193522) 2026-09-29 [email protected] [flutter_tools] Lazily initialize AndroidSdk platform and build-tools discovery (flutter/flutter#191972) 2026-09-29 [email protected] [tool] Migrate Web build subcommands and toolchain to modular dependency injection (flutter/flutter#190783) 2026-09-29 [email protected] Pin androidx.test dependencies in integration_test (flutter/flutter#193316) 2026-09-29 [email protected] [flutter_tools] Include flutter.js.map in web builds (flutter/flutter#192257) 2026-09-29 [email protected] [WebParagraph] Fixing edge cases for wrapping text (with newlines) (flutter/flutter#189858) 2026-09-29 [email protected] Bump customer testing version for flutter/devtools update (flutter/flutter#193511) 2026-09-29 [email protected] Roll Packages from ba0364a to 3c6ce59 (14 revisions) (flutter/flutter#193507) 2026-09-29 [email protected] [flutter_tools] Guard socket streams and done futures against socket reset errors (flutter/flutter#192941) If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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
flutter#193467 moved the pre-AGP 8.3 module AAR case (AGP 8.2.1 / Gradle 8.4) into the android_java17_build_android_host_app_with_module_aar target. AGP 8.2.1 cannot compile against API 37, which Flutter AARs now require of their consumers, so move that case to AGP 8.11.1 / Gradle 8.14 to match errorAGPVersion and errorGradleVersion. Gradle 8.14 still can't run on Java 25, so the Java 17 pin stays.
Add-to-app AAR builds use the Android host app's Gradle/AGP configuration, so Flutter's minimum-version checks don't apply. Host apps on old AGP versions (e.g. 8.2.1) can still consume Flutter AARs, even though those versions are well below Flutter's supported minimum.
The pre-AGP 8.3 sub-test uses Gradle 8.4, which can't run on Java 25. This PR moves it to a new Linux
android_java17_build_android_host_app_with_module_aartarget pinned to Java 17.build_android_host_app_with_module_aarkeeps the modern sub-test (Gradle 9.5.0 / AGP 9.3.1), which will run on the default JDK. That keeps old-AGP host app coverage once CI moves to Java 25.Partially Addresses #193404
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.