mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Fixes (but I still need to write the draft of the blog section so don't autoclose github 🙏 ) https://github.com/flutter/flutter/issues/160372. -Module templates [already exclude the entire `.android` directory](d9b7e56646/packages/flutter_tools/templates/module/common/.gitignore.tmpl (L40)). -Plugin templates [already exclude `.cxx`](d9b7e56646/packages/flutter_tools/templates/plugin_shared/android.tmpl/.gitignore). Modified the existing gitignores with ``` nl=$'\n' sed -i'' -e '/GeneratedPluginRegistrant.java/a\'$'\n''.cxx/'"\\${nl}"'' $(find . -path \*android/.gitignore) ``` (which was probably not the best way) Fun fact: apparently the `.gitignore` files (including the ones we copy to the template apps) aren't indexed for search (the `.gitignore.tmpl` are, but not the ones that we copy exactly [such as this one](27ba2f2790/packages/flutter_tools/templates/app/android.tmpl/.gitignore)). ## 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 `///`). - [ ] 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> Co-authored-by: Reid Baker <hamilton.reid.baker@gmail.com> Co-authored-by: Greg Price <gnprice@gmail.com>
native_driver_test
This directory contains a sample app and tests that demonstrate how to use the (experimental) native Flutter Driver API to drive Flutter apps that run on Android or iOS devices or emulators, interact with and capture screenshots of the app, and compare the screenshots against golden images.
Running the apps and tests
Each lib/{prefix}_main.dart file is a standalone Flutter app that you can run
on an Android or iOS device or emulator:
flutter_rendered_blue_rectangle
This app displays a full screen blue rectangle. It mostly serves as a test that Flutter can run at all on the target device, and that the Flutter (native) driver can take a screenshot and compare it to a golden image. If this app or test fails, it's likely none of the other apps or tests will work either.
# Run the app
$ flutter run lib/flutter_rendered_blue_rectangle_main.dart
# Run the test
$ flutter drive lib/flutter_rendered_blue_rectangle_main.dart
Files of significance:
Debugging tips
- Use
flutter drive --keep-app-runningto keep the app running after the test. - USe
flutter runfollowed byflutter drive --use-existing-appfor faster test iterations.