mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
12 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
91cc68f695
|
[Reland] Unmodified android sdk bundle (#179920)
Relands https://github.com/flutter/flutter/pull/179647 There were only two failing tests (there were also two bringup failures, the `mac_arm64_mokey` versions of these) https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_mokey%20run_release_test/3866/overview https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_mokey%20run_debug_test_android/5454/overview They failed with the same logs ``` Task result: { "success": false, "reason": "Task failed: flutter run had unexpected output on standard error." } ``` The stderr in question: ``` [2025-12-15 14:06:56.311794] [STDOUT] run:stderr: - integration_test requires Android NDK 28.2.13676358 [2025-12-15 14:06:56.311989] [STDOUT] run:stderr: Fix this issue by using the highest Android NDK version (they are backward compatible). [2025-12-15 14:06:56.312019] [STDOUT] run:stderr: Add the following to /opt/s/w/ir/x/w/rc/tmpr6kj09d_/flutter sdk/dev/integration_tests/ui/android/app/build.gradle: [2025-12-15 14:06:56.312074] [STDOUT] run:stderr: [2025-12-15 14:06:56.312092] [STDOUT] run:stderr: android { [2025-12-15 14:06:56.312144] [STDOUT] run:stderr: ndkVersion = "28.2.13676358" [2025-12-15 14:06:56.312162] [STDOUT] run:stderr: ... [2025-12-15 14:06:56.312205] [STDOUT] run:stderr: } ``` We can just set the ndk version to `flutter.ndkVersion`, which is this value. It's also what is set in the templates, so it isn't a hack that doesn't represent a real flutter app. Verified the tests pass now with ``` ../../bin/cache/dart-sdk/bin/dart bin/test_runner.dart test -t run_release_test ../../bin/cache/dart-sdk/bin/dart bin/test_runner.dart test -t run_debug_test_android ``` ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **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 --------- Co-authored-by: Gray Mackall <mackall@google.com> |
||
|
|
8edbbb7391
|
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> |
||
|
|
c0b808c9ed
|
Unmodified android sdk bundle (#179647)
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 --------- Co-authored-by: DoLT <dolt@guide.inc> Co-authored-by: Gray Mackall <mackall@google.com> Co-authored-by: John "codefu" McDole <john@mcdole.org> |
||
|
|
48c77daf85
|
Re-enable android verified input devicelab test (#177804)
This was originally landed in https://github.com/flutter/flutter/pull/140836/ but the pr did not hook it up to ci. It was then removed in https://github.com/flutter/flutter/pull/162895/ First got the driver test running: `flutter drive -t lib/main.dart --driver test_driver/main_test.dart` from the directory of the test app then got the devicelab harness working via `../../bin/cache/dart-sdk/bin/dart bin/test_runner.dart test -t android_verified_input_test` from the `dev/devicelab` directory and then finally hooked up to ci with the configuration in the `.ci.yaml` Restoring in a passing state, in advance of landing https://github.com/flutter/flutter/pull/177572/ ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. **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 --------- Co-authored-by: Gray Mackall <mackall@google.com> |
||
|
|
2c5c1143c2
|
Remove android_verified_input, it was never added to CI and does not run locally. (#162895)
Someone could always resurrect it via `git`-magic (or GitHub), but let's not maintain (including Gradle lock files, Dart analysis, etc) unused code that hasn't run in 12+ months. /cc @johnmccutchan |
||
|
|
2948917a47
|
[Reland] Force automatic ndk download when building for Android (#160260)
Relands https://github.com/flutter/flutter/pull/159756. The original caused some stderr because 1. the configurable `ndkVersion` value that AGP provides used to be null by default. 2. Now it is not, instead it has a default value 3. `integration_test` doesn't actually use the NDK, but default for `integration_test` was higher that `flutter.ndkVersion` 4. We have code that checks if a plugin uses a higher ndk version and tells you to consider upgrading https://github.com/flutter/flutter/blob/master/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy#L921 This reverts the revert, and then aligns `integration_test`'s NDK version (which again, it doesn't actually use, so I'm not too concerned about the downgrade) with `flutter.ndkVersion`. It also starts using the `flutter.min/compile/ndkVersion` values in `integration_test`, which was unrelated to the original pr. Can remove if you think it should land separately. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [ ] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Gray Mackall <mackall@google.com> |
||
|
|
5cd440f6ec
|
Reverts "Force automatic ndk download when building for Android (#159756)" (#160205)
<!-- start_original_pr_link --> Reverts: flutter/flutter#159756 <!-- end_original_pr_link --> <!-- start_initiating_author --> Initiated by: gmackall <!-- end_initiating_author --> <!-- start_revert_reason --> Reason for reverting: Made the tree red due to some std out. <!-- end_revert_reason --> <!-- start_original_pr_author --> Original PR Author: gmackall <!-- end_original_pr_author --> <!-- start_reviewers --> Reviewed By: {reidbaker} <!-- end_reviewers --> <!-- start_revert_body --> This change reverts the following previous change: In preparation for changing engine builds to be unstripped by default https://github.com/flutter/engine/pull/52852, which will allow us to make progress towards resolving https://github.com/flutter/flutter/issues/60240. Tricks AGP in to downloading the NDK when building a flutter app (that uses the FGP, which to my knowledge is all ways of building flutter apk/aab/aar). I want to follow this up by modifying the tool to search for the log line that the NDK is missing (making it throw an error in that case) as a safeguard, because that would be the last line of defense before we accidentally build a bloated app. The safeguard won't work for add to app, from what I understand, because while they use the FGP (so they should be forced to be download the NDK) they don't invoke the flutter tool, and therefore won't invoke the custom error handling of [`gradle_errors.dart`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/gradle_errors.dart) Some details 1. Respects existing values for `externalNativeBuild.cmake.path` for apps that actually use it. 2. Silences some warnings that would otherwise appear for add to app builds or builds that manually invoke gradle: ``` C/C++: CMake Warning (dev) in CMakeLists.txt: C/C++: No project() command is present. The top-level CMakeLists.txt file must C/C++: contain a literal, direct call to the project() command. Add a line of C/C++: code such as C/C++: project(ProjectName) C/C++: near the top of the file, but after cmake_minimum_required(). C/C++: CMake is pretending there is a "project(Project)" command on the first C/C++: line. C/C++: This warning is for project developers. Use -Wno-dev to suppress it. C/C++: CMake Warning: C/C++: Manually-specified variables were not used by the project: C/C++: CMAKE_EXPORT_COMPILE_COMMANDS C/C++: CMAKE_LIBRARY_OUTPUT_DIRECTORY C/C++: CMAKE_RUNTIME_OUTPUT_DIRECTORY ``` 3. Our ci installs the NDK at an abnormal place that AGP can't find without help. I've modified all the `build.gradle`s that we have checked in to point to the pre-installed path. **But some of our tests make a new app from the templates, and those tests will now start downloading the NDK** (as they won't be able to find it at it's current path from templates). We could resolve this by actually fixing https://github.com/flutter/flutter/issues/136666. This would be a very significant lift from what I understand - we rely on this hardcoding in a lot of places in our infra. Fixes https://github.com/flutter/flutter/issues/155576 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md <!-- end_revert_body --> Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com> |
||
|
|
99786b413f
|
Force automatic ndk download when building for Android (#159756)
In preparation for changing engine builds to be unstripped by default https://github.com/flutter/engine/pull/52852, which will allow us to make progress towards resolving https://github.com/flutter/flutter/issues/60240. Tricks AGP in to downloading the NDK when building a flutter app (that uses the FGP, which to my knowledge is all ways of building flutter apk/aab/aar). I want to follow this up by modifying the tool to search for the log line that the NDK is missing (making it throw an error in that case) as a safeguard, because that would be the last line of defense before we accidentally build a bloated app. The safeguard won't work for add to app, from what I understand, because while they use the FGP (so they should be forced to be download the NDK) they don't invoke the flutter tool, and therefore won't invoke the custom error handling of [`gradle_errors.dart`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/gradle_errors.dart) Some details 1. Respects existing values for `externalNativeBuild.cmake.path` for apps that actually use it. 2. Silences some warnings that would otherwise appear for add to app builds or builds that manually invoke gradle: ``` C/C++: CMake Warning (dev) in CMakeLists.txt: C/C++: No project() command is present. The top-level CMakeLists.txt file must C/C++: contain a literal, direct call to the project() command. Add a line of C/C++: code such as C/C++: project(ProjectName) C/C++: near the top of the file, but after cmake_minimum_required(). C/C++: CMake is pretending there is a "project(Project)" command on the first C/C++: line. C/C++: This warning is for project developers. Use -Wno-dev to suppress it. C/C++: CMake Warning: C/C++: Manually-specified variables were not used by the project: C/C++: CMAKE_EXPORT_COMPILE_COMMANDS C/C++: CMAKE_LIBRARY_OUTPUT_DIRECTORY C/C++: CMAKE_RUNTIME_OUTPUT_DIRECTORY ``` 3. Our ci installs the NDK at an abnormal place that AGP can't find without help. I've modified all the `build.gradle`s that we have checked in to point to the pre-installed path. **But some of our tests make a new app from the templates, and those tests will now start downloading the NDK** (as they won't be able to find it at it's current path from templates). We could resolve this by actually fixing https://github.com/flutter/flutter/issues/136666. This would be a very significant lift from what I understand - we rely on this hardcoding in a lot of places in our infra. Fixes https://github.com/flutter/flutter/issues/155576 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --------- Co-authored-by: Gray Mackall <mackall@google.com> |
||
|
|
e92bca3ff5
|
[flutter_tools] Update external link in Android manifest template (#144302)
## Description This PR simplifies one external link in a commented section of the Android manifest template. ## Related Issue Fixes https://github.com/flutter/flutter/issues/144249 ## Tests Documentation only PR. |
||
|
|
dcc2c91471
|
Verified input test take 2 (#140836)
This is a reland of https://github.com/flutter/flutter/pull/140806 which had an issue with package versions. |
||
|
|
8e431e106e
|
Reverts "Verified input integration test" (#140833)
Reverts flutter/flutter#140806 Initiated by: zanderso This change reverts the following previous change: Original Description: This is an integration test associated with https://github.com/flutter/engine/pull/49268 |
||
|
|
ac9a8eb669
|
Verified input integration test (#140806)
This is an integration test associated with https://github.com/flutter/engine/pull/49268 |