Reverts "Unmodified android sdk bundle (#179647)" (#179904)

<!-- start_original_pr_link -->
Reverts: flutter/flutter#179647
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: gmackall
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: Mac_mokey run_release_test failing
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: gmackall
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {reidbaker, jtmcdole}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:
Changes our cipd hosted android sdk+ndk bundle to no longer modify
directory structure from what Android directly provides, allowing AGP to
find the ndk automatically and preventing downloading.

1. Changes the `create_cipd_packages.sh` script so we don't move the ndk
2. Uses the new script to upload a
[36v4unmodified](https://chrome-infra-packages.appspot.com/p/flutter/android/sdk/all/linux-amd64/+/version:36v4unmodified)
bundle
3. Changes DEPS+ci.yaml to reference the new bundle
4. Changes GN build rules accordingly
5. Removes special config in existing build.gradle files to point at the
location of the ndk - agp should now know where it is without conig
6. For some tests, passes in an environment variable pointing to the ndk
location, to override the environment variable passed by the recipes.
This variable is respected by the tool, so the recipes passing it,
pointing to the wrong place, is problematic. After this change lands we
can stop passing it in the recipes, and then we can remove this special
config in the tests. But adding it temporarily allows us to make this
change without coordinating a recipes change at the same moment, and
probably breaking things out of band.

Logs from a random postsubmit run of `Mac
build_android_host_app_with_module_aar` on the tree currently:

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8695664517253382913/+/u/run_build_android_host_app_with_module_aar/stdout
We see 
> [2025-12-12 10:49:49.223087] [STDOUT] stdout: Checking the license for
package NDK (Side by side) 28.2.13676358 in
/Volumes/Work/s/w/ir/cache/android/sdk/licenses
[2025-12-12 10:49:49.223221] [STDOUT] stdout: License for package NDK
(Side by side) 28.2.13676358 accepted.
[2025-12-12 10:49:49.223268] [STDOUT] stdout: Preparing "Install NDK
(Side by side) 28.2.13676358 v.28.2.13676358".
[2025-12-12 10:50:14.093824] [STDOUT] stdout: "Install NDK (Side by
side) 28.2.13676358 v.28.2.13676358" ready.
[2025-12-12 10:50:14.093909] [STDOUT] stdout: Installing NDK (Side by
side) 28.2.13676358 in
/Volumes/Work/s/w/ir/cache/android/sdk/ndk/28.2.13676358
[2025-12-12 10:50:14.093947] [STDOUT] stdout: "Install NDK (Side by
side) 28.2.13676358 v.28.2.13676358" complete.
[2025-12-12 10:50:14.410724] [STDOUT] stdout: "Install NDK (Side by
side) 28.2.13676358 v.28.2.13676358" finished.

Example of no longer downloading:
Logs from a presubmit run:

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8695732180931529361/+/u/run_build_android_host_app_with_module_aar/stdout

We don't see these logs. We still see android build tools downloading -
we can probably tackle that in another pr.

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

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

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot 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.

<!-- 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

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
This commit is contained in:
auto-submit[bot] 2025-12-15 21:55:49 +00:00 committed by GitHub
parent 1ff83529dc
commit 8edbbb7391
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
46 changed files with 421 additions and 265 deletions

208
.ci.yaml
View File

@ -51,7 +51,7 @@ platform_properties:
]
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"},
{"dependency": "avd_cipd_version", "version": "build_id:8719362231152674241"},
{"dependency": "open_jdk", "version": "version:21"},
@ -74,7 +74,7 @@ platform_properties:
]
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "android_virtual_device", "version": "android_36_google_apis_x64.textpb"},
{"dependency": "avd_cipd_version", "version": "build_id:8702262057250908257"},
{"dependency": "open_jdk", "version": "version:21"},
@ -98,7 +98,7 @@ platform_properties:
]
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "android_virtual_device", "version": "android_35_google_apis_x64.textpb"},
{"dependency": "avd_cipd_version", "version": "build_id:8733065022087935185"},
{"dependency": "open_jdk", "version": "version:21"},
@ -115,7 +115,7 @@ platform_properties:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "curl", "version": "version:7.64.0"}
]
@ -127,7 +127,7 @@ platform_properties:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "curl", "version": "version:7.64.0"}
]
@ -138,7 +138,7 @@ platform_properties:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "curl", "version": "version:7.64.0"}
]
@ -149,7 +149,7 @@ platform_properties:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "curl", "version": "version:7.64.0"}
]
@ -252,7 +252,7 @@ platform_properties:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -264,7 +264,7 @@ platform_properties:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
os: Mac-15.1|Mac-15.5|Mac-15.6|Mac-15.7
@ -342,7 +342,7 @@ platform_properties:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -375,7 +375,7 @@ targets:
test_timeout_secs: "3600" # 1 hour
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "curl", "version": "version:7.64.0"}
]
@ -411,7 +411,7 @@ targets:
# Requires Android SDK since we may re-generate Gradle lockfiles
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "gh_cli", "version": "version:2.8.0-2-g32256d38"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -432,7 +432,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -456,7 +456,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -475,7 +475,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -494,7 +494,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -513,7 +513,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -532,7 +532,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -692,7 +692,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -713,7 +713,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -801,7 +801,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -837,7 +837,7 @@ targets:
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
{"dependency": "ninja", "version": "version:1.9.0"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "android_sdk", "version": "version:36v4unmodified"}
{"dependency": "android_sdk", "version": "version:36v4"}
]
shard: framework_tests
subshard: misc
@ -908,7 +908,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -931,7 +931,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -954,7 +954,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -977,7 +977,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1001,7 +1001,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1025,7 +1025,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1049,7 +1049,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1073,7 +1073,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1098,7 +1098,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1123,7 +1123,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1147,7 +1147,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1175,7 +1175,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1284,7 +1284,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -1348,7 +1348,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}
]
tags: >
@ -1377,7 +1377,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1405,7 +1405,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1433,7 +1433,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1461,7 +1461,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1489,7 +1489,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1517,7 +1517,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1545,7 +1545,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1604,7 +1604,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1631,7 +1631,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:11"}
]
@ -1655,7 +1655,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:17"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
@ -1682,7 +1682,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"},
{"dependency": "cmake", "version": "build_id:8787856497187628321"},
@ -1707,7 +1707,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
shard: tool_tests
@ -1729,7 +1729,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
shard: tool_tests
@ -3715,7 +3715,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -3734,7 +3734,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -3753,7 +3753,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -3772,7 +3772,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -3792,7 +3792,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -3810,7 +3810,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -3828,7 +3828,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -3846,7 +3846,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -4036,7 +4036,7 @@ targets:
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "android_sdk", "version": "version:36v4unmodified"}
{"dependency": "android_sdk", "version": "version:36v4"}
]
shard: framework_tests
subshard: misc
@ -4067,7 +4067,7 @@ targets:
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "android_sdk", "version": "version:36v4unmodified"}
{"dependency": "android_sdk", "version": "version:36v4"}
]
shard: framework_tests
subshard: misc
@ -4123,7 +4123,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
tags: >
@ -4162,7 +4162,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
tags: >
@ -4182,7 +4182,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
tags: >
@ -4202,7 +4202,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
tags: >
@ -4223,7 +4223,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
tags: >
@ -4298,7 +4298,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"}
]
@ -4360,7 +4360,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
tags: >
@ -4380,7 +4380,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -4484,7 +4484,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -4511,7 +4511,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -4538,7 +4538,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -4565,7 +4565,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -4592,7 +4592,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "ruby", "version": "ruby_3.1-pod_1.13"},
@ -4618,7 +4618,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
shard: tool_tests_commands
@ -4633,7 +4633,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
shard: tool_tests_commands
@ -4648,7 +4648,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
shard: tool_tests
@ -5665,7 +5665,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5683,7 +5683,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5701,7 +5701,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5719,7 +5719,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5737,7 +5737,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5755,7 +5755,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5773,7 +5773,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5791,7 +5791,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5809,7 +5809,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -5901,7 +5901,7 @@ targets:
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
{"dependency": "vs_build", "version": "version:vs2019"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "android_sdk", "version": "version:36v4unmodified"}
{"dependency": "android_sdk", "version": "version:36v4"}
]
shard: framework_tests
subshard: misc
@ -5989,7 +5989,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6035,7 +6035,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6056,7 +6056,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6077,7 +6077,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6100,7 +6100,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6148,7 +6148,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6169,7 +6169,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6190,7 +6190,7 @@ targets:
properties:
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"}
]
@ -6332,7 +6332,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6358,7 +6358,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6384,7 +6384,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6410,7 +6410,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6436,7 +6436,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6462,7 +6462,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6488,7 +6488,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6514,7 +6514,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6540,7 +6540,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"},
@ -6567,7 +6567,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"},
{"dependency": "vs_build", "version": "version:vs2019"}
]
@ -6614,7 +6614,7 @@ targets:
add_recipes_cq: "true"
dependencies: >-
[
{"dependency": "android_sdk", "version": "version:36v4unmodified"},
{"dependency": "android_sdk", "version": "version:36v4"},
{"dependency": "open_jdk", "version": "version:21"}
]
shard: tool_tests

2
DEPS
View File

@ -615,7 +615,7 @@ deps = {
'packages': [
{
'package': 'flutter/android/sdk/all/${{platform}}',
'version': 'version:36v4unmodified'
'version': 'version:36v3'
}
],
'condition': 'download_android_deps',

View File

@ -36,6 +36,14 @@ android {
namespace = "com.example.a11y_assessments"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17

View File

@ -29,6 +29,14 @@ android {
namespace = "com.yourcompany.complexLayout"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -29,6 +29,14 @@ android {
namespace = "com.example.macrobenchmarks"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -29,6 +29,14 @@ android {
namespace = "com.yourcompany.microbenchmarks"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -16,6 +16,14 @@ android {
namespace = "dev.flutter.multipleflutters"
compileSdk = 36
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = "28.2.13676358" // This version must exactly match the version of the NDK that the recipe pulls from CIPD.
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17

View File

@ -29,6 +29,14 @@ android {
namespace = "dev.benchmarks.platform_views_layout"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -29,6 +29,14 @@ android {
namespace = "dev.benchmarks.platform_views_layout_hybrid_composition"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -29,6 +29,14 @@ android {
namespace = "io.flutter.examples.stocks"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -100,18 +100,11 @@ Future<Command> startCommand(
final time = Stopwatch()..start();
print('workingDirectory: $workingDirectory, executable: $executable, arguments: $arguments');
// Override ANDROID_NDK_PATH with a valid discovered path or empty string to clear a potentially bad value.
// See also dev/devicelab/lib/framework/utils.dart.
final finalEnvironment = <String, String>{
...?environment,
'ANDROID_NDK_PATH': ?_discoverBestNdkPath(),
};
final io.Process process = await io.Process.start(
executable,
arguments,
workingDirectory: workingDirectory,
environment: finalEnvironment,
environment: environment,
);
return Command._(
process,
@ -150,76 +143,6 @@ Future<Command> startCommand(
);
}
String? _bestNdkPath;
String? _discoverBestNdkPath() {
if (_bestNdkPath != null) {
return _bestNdkPath;
}
// If we found a valid NDK, return it.
// Otherwise return empty string to clear any bad inherited value.
final Map<String, String> env = io.Platform.environment;
String? androidHome = env['ANDROID_HOME'] ?? env['ANDROID_SDK_ROOT'];
if (androidHome == null) {
// Try to find it in common default locations.
if (io.Platform.isMacOS) {
final String? home = env['HOME'];
if (home != null) {
androidHome = path.join(home, 'Library', 'Android', 'sdk');
}
} else if (io.Platform.isLinux) {
final String? home = env['HOME'];
if (home != null) {
androidHome = path.join(home, 'Android', 'Sdk');
}
} else if (io.Platform.isWindows) {
final String? homeDrive = env['HOMEDRIVE'];
final String? homePath = env['HOMEPATH'];
if (homeDrive != null && homePath != null) {
androidHome = path.join(homeDrive + homePath, 'AppData', 'Local', 'Android', 'sdk');
}
}
}
if (androidHome == null) {
return _bestNdkPath = null;
}
final ndkDir = io.Directory(path.join(androidHome, 'ndk'));
if (!ndkDir.existsSync()) {
return _bestNdkPath = null;
}
final versions = <String>[];
for (final io.FileSystemEntity entity in ndkDir.listSync()) {
if (entity is io.Directory) {
final String name = path.basename(entity.path);
// flutter_tools ignores non-SemVer directories. NDK versions should start with a number.
if (int.tryParse(name.split('.').first) != null) {
versions.add(name);
}
}
}
if (versions.isEmpty) {
return _bestNdkPath = null;
}
// Sort numerically/lexicographically to find the "highest" version.
// We assume versions are like "21.4.7075529" or "23.1.7779620".
// A simple sort works for major versions if they have the same number of digits,
// but to be safe we parse the major version.
versions.sort((String a, String b) {
// Try to parse major version.
final int? aMajor = int.tryParse(a.split('.').first);
final int? bMajor = int.tryParse(b.split('.').first);
if (aMajor != null && bMajor != null) {
if (aMajor != bMajor) {
return aMajor.compareTo(bMajor);
}
}
// Fallback to string comparison.
return a.compareTo(b);
});
return _bestNdkPath = path.join(ndkDir.path, versions.last);
}
/// Runs the `executable` and waits until the process exits.
///
/// If the process exits with a non-zero exit code and `expectNonZeroExit` is

View File

@ -47,7 +47,6 @@ class ModuleTest {
Future<TaskResult> call() async {
section('Running: $buildTarget-$gradleVersion');
section('Find Java');
final String? javaHome = await findJavaHome();

View File

@ -9,7 +9,6 @@ import 'dart:math' as math;
import 'package:path/path.dart' as path;
import 'package:process/process.dart';
import 'package:pub_semver/pub_semver.dart';
import 'package:stack_trace/stack_trace.dart';
import 'devices.dart';
@ -284,17 +283,7 @@ Future<Process> startProcess(
}) async {
final command = '$executable ${arguments?.join(" ") ?? ""}';
final String finalWorkingDirectory = workingDirectory ?? cwd;
final newEnvironment = <String, String>{
...?environment,
'ANDROID_NDK_PATH': ?_discoverBestNdkPath(),
};
// Override ANDROID_NDK_PATH with a valid discovered path or empty string to clear a potentially bad value.
// See also bots/run_command.dart.
final String? bestNdkPath = _discoverBestNdkPath();
if (bestNdkPath != null) {
newEnvironment['ANDROID_NDK_PATH'] = bestNdkPath;
}
final newEnvironment = Map<String, String>.from(environment ?? <String, String>{});
newEnvironment['BOT'] = isBot ? 'true' : 'false';
newEnvironment['LANG'] = 'en_US.UTF-8';
print('Executing "$command" in "$finalWorkingDirectory" with environment $newEnvironment');
@ -807,66 +796,13 @@ Uri? parseServiceUri(String line, {Pattern? prefix}) {
return matches.isEmpty ? null : Uri.parse(matches[0].group(0)!);
}
/// Checks that the file exists, otherwise throws a [FileSystemException].
void checkFileExists(String file) {
if (!exists(File(file))) {
fail('File not found: $file');
throw FileSystemException('Expected file to exist.', file);
}
}
String? _bestNdkPath;
String? _discoverBestNdkPath() {
if (_bestNdkPath != null) {
return _bestNdkPath;
}
// If we found a valid NDK, return it.
// Otherwise return empty string to clear any bad inherited value.
final Map<String, String> env = Platform.environment;
String? androidHome = env['ANDROID_HOME'] ?? env['ANDROID_SDK_ROOT'];
if (androidHome == null) {
// Try to find it in common default locations.
if (Platform.isMacOS) {
final String? home = env['HOME'];
if (home != null) {
androidHome = path.join(home, 'Library', 'Android', 'sdk');
}
} else if (Platform.isLinux) {
final String? home = env['HOME'];
if (home != null) {
androidHome = path.join(home, 'Android', 'Sdk');
}
} else if (Platform.isWindows) {
final String? homeDrive = env['HOMEDRIVE'];
final String? homePath = env['HOMEPATH'];
if (homeDrive != null && homePath != null) {
androidHome = path.join(homeDrive + homePath, 'AppData', 'Local', 'Android', 'sdk');
}
}
}
if (androidHome == null) {
return _bestNdkPath = null;
}
final ndkDir = Directory(path.join(androidHome, 'ndk'));
if (!ndkDir.existsSync()) {
return _bestNdkPath = null;
}
final versions = <Version>[];
for (final FileSystemEntity entity in ndkDir.listSync()) {
if (entity is Directory) {
try {
versions.add(Version.parse(path.basename(entity.path)));
} on FormatException {
// Ignore non-version directories.
}
}
}
if (versions.isEmpty) {
return _bestNdkPath = null;
}
versions.sort();
return _bestNdkPath = path.join(ndkDir.path, versions.last.toString());
}
/// Checks that the file does not exists, otherwise throws a [FileSystemException].
void checkFileNotExists(String file) {
if (exists(File(file))) {

View File

@ -62,10 +62,8 @@ void main() {
final capturedPrint = capturedPrintLines.toString();
expect(
capturedPrint,
allOf(
contains('with environment {'),
contains('FLUTTER_DEVICELAB_DEVICEID: FAKE_SUCCESS'),
contains('BOT: true'),
contains(
'with environment {FLUTTER_DEVICELAB_DEVICEID: FAKE_SUCCESS, BOT: true, LANG: en_US.UTF-8}',
),
);
expect(capturedPrint, contains('Process terminated with exit code 0.'));

View File

@ -13,6 +13,14 @@ android {
namespace = "com.example.android_engine_test"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17

View File

@ -20,6 +20,14 @@ android {
namespace = "com.yourcompany.platforminteraction"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -30,6 +30,15 @@ android {
namespace "io.flutter.integration.android_verified_input"
compileSdk flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8

View File

@ -29,6 +29,14 @@ android {
namespace = 'io.flutter.integration.platformviews'
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -30,6 +30,15 @@ android {
namespace = "com.example.channels"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17

View File

@ -36,9 +36,19 @@ android {
namespace = "io.flutter.integration.deferred_components_test"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}

View File

@ -26,6 +26,14 @@ android {
namespace = "io.flutter.integration.deferred_components_test.component1"
compileSdk = 36
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = "26.3.11579264" // This version must exactly match the version of the NDK that the recipe pulls from CIPD.
ndkPath = systemNdkPath
}
sourceSets {
applicationVariants.all { variant ->

View File

@ -19,6 +19,14 @@ android {
namespace = "io.flutter.externalui"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -19,6 +19,14 @@ android {
namespace = "com.yourcompany.flavors"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -48,6 +48,14 @@ android {
namespace = "io.flutter.demo.gallery"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -8,6 +8,14 @@ android {
namespace = "io.flutter.addtoapp"
compileSdk = 36
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = "26.3.11579264" // This version must exactly match the version of the NDK that the recipe pulls from CIPD.
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -19,6 +19,14 @@ android {
namespace = "com.yourcompany.platforminteraction"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -8,6 +8,14 @@ android {
namespace = "io.flutter.add2app"
compileSdk = 36
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = "26.3.11579264" // This version must exactly match the version of the NDK that the recipe pulls from CIPD.
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -8,6 +8,15 @@ android {
namespace = "io.flutter.add2app"
compileSdk = 36
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = "26.3.11579264" // This version must exactly match the version of the NDK that the recipe pulls from CIPD.
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17

View File

@ -7,6 +7,14 @@ android {
namespace = "com.example.myapplication"
compileSdk = 36
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
val systemNdkPath: String? = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = "26.3.11579264" // This version must exactly match the version of the NDK that the recipe pulls from CIPD.
ndkPath = systemNdkPath
}
defaultConfig {
applicationId = "com.example.myapplication"

View File

@ -30,6 +30,14 @@ android {
namespace = "com.example.release_smoke_test"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -30,6 +30,14 @@ android {
namespace = "com.example.spell_check"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17

View File

@ -12,6 +12,14 @@ android {
namespace = "com.yourcompany.integration_ui"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -30,6 +30,14 @@ android {
namespace = "dev.flutter.manual_tests"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17

View File

@ -30,6 +30,14 @@ android {
namespace = "com.example.tracing_tests"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8

View File

@ -53,8 +53,7 @@ if (is_android) {
android_sdk = "${android_sdk_root}/platforms/android-${android_sdk_version}"
# Path to the Android NDK and SDK.
android_ndk_version = "28.2.13676358"
android_ndk_root = "//flutter/third_party/android_tools/sdk/ndk/$android_ndk_version"
android_ndk_root = "//flutter/third_party/android_tools/ndk"
android_ndk_include_dir = "$android_ndk_root/usr/include"
android_sdk = "${android_sdk_root}/platforms/android-${android_sdk_version}"

View File

@ -22,9 +22,8 @@ if [ "$(uname)" == "Darwin" ]; then
else
NDK_PLATFORM="linux-x86_64"
fi
NDK_VERSION="28.2.13676358"
ADDR2LINE="flutter/third_party/android_tools/sdk/ndk/$NDK_VERSION/toolchains/llvm/prebuilt/$NDK_PLATFORM/bin/llvm-addr2line"
NM="flutter/third_party/android_tools/sdk/ndk/$NDK_VERSION/toolchains/llvm/prebuilt/$NDK_PLATFORM/bin/llvm-nm"
ADDR2LINE="flutter/third_party/android_tools/ndk/toolchains/llvm/prebuilt/$NDK_PLATFORM/bin/llvm-addr2line"
NM="flutter/third_party/android_tools/ndk/toolchains/llvm/prebuilt/$NDK_PLATFORM/bin/llvm-nm"
# Run the binary size script from the buildroot directory so the treemap path
# navigation will start from there.

View File

@ -26,7 +26,6 @@ previous run for a given device, then you can skip this step by passing
"""
ADB_LOCAL_PATH = 'flutter/third_party/android_tools/sdk/platform-tools/adb'
ANDROID_NDK_VERSION = '28.2.13676358'
def _get_flutter_root():
@ -85,7 +84,7 @@ class GdbClient(object):
SYSTEM_LIBS_PATH = '/tmp/flutter_gdb_device_libs'
def _gdb_local_path(self):
GDB_LOCAL_PATH = ('flutter/third_party/android_tools/sdk/ndk/%s/prebuilt/%%s-x86_64/bin/gdb' % ANDROID_NDK_VERSION)
GDB_LOCAL_PATH = ('flutter/third_party/android_tools/ndk/prebuilt/%s-x86_64/bin/gdb')
if sys.platform.startswith('darwin'):
return GDB_LOCAL_PATH % 'darwin'
else:
@ -193,7 +192,7 @@ class GdbServer(object):
return 1
abi = _get_device_abi(adb_command)
gdb_server_local_path = 'flutter/third_party/android_tools/sdk/ndk/%s/prebuilt/android-%s/gdbserver/gdbserver' % (ANDROID_NDK_VERSION, abi)
gdb_server_local_path = 'flutter/third_party/android_tools/ndk/prebuilt/android-%s/gdbserver/gdbserver' % abi
# Copy gdbserver to the package's data directory.
subprocess.check_call(adb_command + ['push',

View File

@ -18,8 +18,7 @@ if [ "$UNAME" == "Linux" ]; then
if [ -x "$(command -v gdb)" ]; then
GDB=gdb
else
NDK_VERSION="28.2.13676358"
GDB=$BUILDROOT/flutter/third_party/android_tools/sdk/ndk/$NDK_VERSION/prebuilt/linux-x86_64/bin/gdb
GDB=$BUILDROOT/flutter/third_party/android_tools/ndk/prebuilt/linux-x86_64/bin/gdb
fi
echo "GDB=$GDB"
$GDB $EXE $CORE --batch -ex "thread apply all bt" > $OUTPUT

View File

@ -122,6 +122,23 @@ for platform in "${platforms[@]}"; do
done
done
# Special treatment for NDK to move to expected directory.
# Instead of the ndk being in `sdk/ndk/<major>.<minor>.<patch>/`, it will be
# in `ndk/`.
# This simplifies the build scripts, and enables version difference between
# the Dart and Flutter build while reusing the same build rules.
# See https://github.com/flutter/flutter/issues/136666#issuecomment-1805467578
mv $upload_dir/sdk/ndk $upload_dir/ndk-bundle
ndk_sub_paths=`find $upload_dir/ndk-bundle -maxdepth 1 -type d`
ndk_sub_paths_arr=($ndk_sub_paths)
mv ${ndk_sub_paths_arr[1]} $upload_dir/ndk
rm -rf $upload_dir/ndk-bundle
if [[ ! -d "$upload_dir/ndk" ]]; then
echo "Failure to bundle ndk for platform"
exit 1
fi
# Accept all licenses to ensure they are generated and uploaded.
yes "y" | $sdkmanager_path --licenses --sdk_root=$sdk_root
cp -a "$sdk_root/licenses" "$upload_dir/sdk"

View File

@ -11,6 +11,14 @@ android {
namespace = "com.example.view"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8

View File

@ -11,6 +11,15 @@ android {
namespace = "io.flutter.examples.hello_world"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
val systemNdkPath: String? = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

View File

@ -29,6 +29,14 @@ android {
namespace = "com.example.image_list"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8

View File

@ -11,6 +11,14 @@ android {
namespace = "io.flutter.examples.Layers"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8

View File

@ -29,6 +29,14 @@ android {
namespace = "com.example.platformchannel"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8

View File

@ -29,6 +29,14 @@ android {
namespace = "io.flutter.examples.platform_view"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
String systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8

View File

@ -13,6 +13,15 @@ android {
namespace = "com.example.integration_test_example"
compileSdk = flutter.compileSdkVersion
// Flutter's CI installs the NDK at a non-standard path.
// This non-standard structure is initially created by
// https://github.com/flutter/engine/blob/3.27.0/tools/android_sdk/create_cipd_packages.sh.
val systemNdkPath = System.getenv("ANDROID_NDK_PATH")
if (systemNdkPath != null) {
ndkVersion = flutter.ndkVersion
ndkPath = systemNdkPath
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8