Flutter web site

Overview

Flutter logo

Flutter website

Build Status

Note: We've made significant changes to this repo to make it easier to use and maintain. If you've already cloned this repo, please do it again. The most significant differences include:

  • If you want to build the site, a Docker container now makes build setup simpler. For example, you no longer need to install nvm.
  • The default branch is now called main (it was previously master).
  • Some files — in particular, image files — have been moved.

Stay tuned for another significant update to the website repo later this year.

Thanks, as always, for your continued support!

Table of contents

Issues, bugs, and requests

We welcome contributions and feedback on our website. Please file a request in our issue tracker or create a pull request. For simple changes (such as tweaking some text), it's easiest to make changes using the GitHub UI.

If you have an issue with the API docs on api.flutter.dev, please file those issues on the flutter/flutter repo, not on this (flutter/website) repo. The API docs are embedded in Flutter's source code, so the engineering team handles those.

Before you submit a PR

We love it when the community gets involved in improving our docs! But here are a few notes to keep in mind before you submit a PR:

  • When triaging issues, we sometimes label an issue with the tag PRs welcome. But we welcome PRs on other issues as well— it doesn't have to be tagged with that label.
  • Please don't run our docs through Grammarly (or similar) and submit those changes as a PR.
  • We follow the Google Developer Documentation Style Guidelines — for example, don't use "i.e." or "e.g.", and avoid writing in first person. You can start with the style guide highlights or the word list, or use the search bar that's at the top of every style guide page.

We truly thank you for your willingness and helpfulness in keeping the website docs up to date!

Before you build this site

For changes beyond simple text and CSS tweaks, we recommend building the site.

1. Get the prerequisites

Install the following tools, if you don't have them already:

  • bash, the Bourne shell. These instructions assume you're using bash, and setup might not work if you use another shell.
  • GNU Make. On Windows the easiest way to install Make is choco install make. Other options include using a subsystem.
  • Docker. We use Docker for local dev, tests, and building the site. Install it from https://docs.docker.com/get-docker/.
  • Firebase CLI, for hosting the site locally. One way to get this is to run npm install -g firebase-tools. For full setup details, read the Firebase CLI documentation.

2. Clone this repo and its submodules

Note: This repo has git submodules, which affects how you clone it. The GitHub documentation has general help on forking and cloning repos.

If you're outside of the Flutter organization, we recommend you create a fork of the repo under your own account, and then submit a PR from that fork.

Once you have a fork (or you're a Flutter org member), choose one of the following submodule-cloning techniques:

  • Clone the repo and its submodule at the same using the --recurse-submodules option:

    $ git clone --recurse-submodules https://github.com/<username-or-flutter>/website.git

    OR

  • If you've already cloned the repo without its submodule, then run this command from the repo root:

    $ git submodule update --init --recursive

Note: At any time during development you can use the git submodule command to refresh submodules:

$ git pull; git submodule update --init --recursive

Setting up your local environment and serving changes

  1. Optional: After cloning the repo and its submodules, create a branch for your changes:

    $ git checkout -b <BRANCH_NAME>
  2. If the Docker Desktop application isn't already running, start it. Look at its status icon: if it has an exclamation point (!), then update Docker Desktop.

  3. Run the initial setup command:

    $ make setup
  4. Serve the site locally (via docker-compose):

    $ make up

    The site is generated, and then the development server runs in the Docker container, with the generated _site directory visible locally.

  5. View your changes in the browser by navigating to http://localhost:4002.

    Note: Unless you're editing files under site-shared, you can safely ignore ERROR: directory is already being watched messages. For details, see #1363.

  6. Make your changes. The files are updated, and your browser view should update to reflect the changes. You can either edit files locally or use an editor like vim directly in a shell in the container. To start a container shell, run docker-compose exec site bash.

    Tip: If you aren't seeing the changes you expect, restart the server and rebuild the site from scratch:

    $ make down && make clean && make up

    In some rare cases you might want to force all running containers down:

    $ docker rm -f $(docker ps -aq)
  7. Commit your changes to the branch and submit your PR.

  8. When you've finished developing, shut down the Docker container:

    $ make down

Tip: To find additional commands, read the Makefile. For example, if you need to debug the Docker infrastructure, you can run make debug.

Creating and/or editing DartPad example code

Most of the code used to create DartPad examples is hosted on GitHub. However, this repo also contains some *.dart files responsible for DartPad example code.

DartPad example code in GitHub gists

A typical DartPad example takes the form of an iframe, for example, within a codelab's Markdown file:

">
<iframe
  src="{{ site.custom.dartpad.embed-flutter-prefix }}?id=d7b09149ffee2f0535bb0c04d96987f5" 
  style="border:1px solid lightgrey;margin-top:10px;margin-bottom:25px"
  frameborder="no" height="500" width="100%">
iframe>

This iframe depends on the following GitHub gist URL:

https://gist.github.com/d7b09149ffee2f0535bb0c04d96987f5

For detailed instructions on how to use this approach to DartPad examples, see the DartPad embedding guide.

DartPad example code in this repo

Some DartPad example code remains in this repo:

  • src/_packages/dartpad_picker/web/dartpad_picker_main.dart

This code must be manually compiled, which also regenerates the associated JavaScript file in src/assets/js:

$ cd `src/_packages/dartpad_picker
$ ./compile.sh

Deploying to a staging site

You can deploy your local edits to a personal staging site as follows.

  1. If you don't already have a Firebase project, navigate to the Firebase Console and create your own Firebase project (for example, my-foo).

  2. In a separate bash shell, change to the repo directory and initialize Firebase:

    $ npx firebase init
  3. If you created a new project, add it using the firebase use command:

    $ npx firebase use --add
    ? Which project do you want to add? <select the project you created>
    ? What alias do you want to use for this project? (e.g. staging) my-foo
  4. Tell Firebase that you want to deploy to your project:

    $ npx firebase use my-foo
    Now using alias staging (my-foo)
  5. Build the site via Docker with:

    $ DISABLE_TESTS=1 make build

    The _site directory refreshes locally.

  6. Deploy to the staging site:

    $ make deploy

    Your personal version of the Flutter website is now deployed to Firebase. Copy the serving URL from the command output.

Writing for flutter.dev

The site-shared repo contains infrastructure shared by most of our Dart and Flutter websites. Some of this README is in the doc directory in the site-shared repo.

For more information on using and writing for this repo, refer to the following docs:

Also check out the site-shared wiki:

Comments
  • Removing the GetX package from Options

    Removing the GetX package from Options

    It looks like the package author makes some pretty wild claims* on social media. Removing the links, at least until we can verify that these claims are true.

    *) The claims are about the package's official support from Google and/or usage by Google Product Managers — neither of which I'm aware of. I'd also like to verify the claims about performance (currently, they are backed only by a benchmark written by the author).

    cla: yes 
    opened by filiph 27
  • Change installation to use bundles

    Change installation to use bundles

    @gspencergoog @DanTup, please review!

    @DanTup can you help with needed js to make the bundle links in get-sdk.md and get-sdk-win.md dynamic to latest beta bundle?

    cla: no 
    opened by mit-mit 25
  • Flutter Stager

    Flutter Stager

    Addresses the issue https://github.com/flutter/flutter/issues/8159

    How it works

    • There are 10 Firebase projects setup.
    • There is a Master Firebase Project Setup with Firebase Database that coordinates everything
    • When a PR is made, we find a free firebase project and deploy it, storing what branch was deployed on which PR
    • When an update to a PR is made, we find the project that was associated with that PR and return that
    • It finds the Pull Request Issue and makes a comment from a bot account with the URL to that staging url.
    • This scales well by just adding more entries to the Firebase Database
    • We do a cleanup when it runs by checking the branches currently in the database still exist as Pull requests, if no then we delete the entry and let something else override it

    Please review!

    I would also like to point out the following line, would like someones thoughts on this, is there a better way to do this? if [ "$BRANCH" != "master" ]; then

    Please ask questions if something is unclear of if something needs to be documented more.

    I will be providing @sethladd with the access tokens as well as project access to all the firebase projects shortly.

    cla: yes 
    opened by FaisalAbid 23
  • Support

    Support "C++" as a language in samplecode

    Since + is not a valid character in an HTML ID, replace it with -plus.

    Presubmit checklist

    cla: yes 
    opened by stuartmorgan 20
  • Codelab

    Codelab "How to test a Flutter app" Step 6 Widget tests throw exceptions

    Following the instructions on the Codelab "How to test a Flutter app" through to Step 6 "Widget Testing" on page

    https://codelabs.developers.google.com/codelabs/flutter-app-testing#5

    beginning with 'Testing Scrolling', widget tests throw exceptions (see below) and fail, regardless of platform and regardless if physical device or emulator. 'Testing if ListView shows up' does succeed.

    Code is copy / pasted from the codelab. Note: The unit tests and integration tests from the same codelab work as expected.

    I/flutter (15446): (The following exception is now available via WidgetTester.takeException:)
    I/flutter (15446): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
    I/flutter (15446): The following TestFailure object was thrown running a test:
    I/flutter (15446):   Expected: no matching nodes in the widget tree
    I/flutter (15446):   Actual: _TextFinder:<exactly one widget with text "Item 0" (ignoring offstage widgets):
    I/flutter (15446): Text-[<'text_0'>]("Item 0", dependencies: [MediaQuery, DefaultTextStyle])>
    I/flutter (15446):    Which: means one was found but none were expected
    I/flutter (15446): 
    I/flutter (15446): When the exception was thrown, this was the stack:
    I/flutter (15446): #4      main.<anonymous closure>.<anonymous closure> (file:///Users/m/root/topics/coding/flutter/learning/testing/test/screens/home_test.dart:21:7)
    I/flutter (15446): <asynchronous suspension>
    I/flutter (15446): <asynchronous suspension>
    I/flutter (15446): (elided one frame from package:stack_trace)
    I/flutter (15446): ...
    I/flutter (15446): 
    I/flutter (15446): This was caught by the test expectation on the following line:
    I/flutter (15446):   file:///Users/m/root/topics/coding/flutter/learning/testing/test/screens/home_test.dart line 21
    I/flutter (15446): The test description was:
    I/flutter (15446):   Testing Scrolling
    I/flutter (15446): ════════════════════════════════════════════════════════════════════════════════════════════════════
    I/flutter (15446): (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
    I/flutter (15446): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
    I/flutter (15446): The following TestFailure object was thrown running a test:
    I/flutter (15446):   Expected: no matching nodes in the widget tree
    I/flutter (15446):   Actual: _TextFinder:<exactly one widget with text "Item 0" (ignoring offstage widgets):
    I/flutter (15446): Text-[<'text_0'>]("Item 0", dependencies: [MediaQuery, DefaultTextStyle])>
    I/flutter (15446):    Which: means one was found but none were expected
    I/flutter (15446): 
    I/flutter (15446): When the exception was thrown, this was the stack:
    I/flutter (15446): #4      main.<anonymous closure>.<anonymous closure> (file:///Users/m/root/topics/coding/flutter/learning/testing/test/screens/home_test.dart:21:7)
    I/flutter (15446): <asynchronous suspension>
    I/flutter (15446): <asynchronous suspension>
    I/flutter (15446): (elided one frame from package:stack_trace)
    I/flutter (15446): ...
    I/flutter (15446): 
    I/flutter (15446): This was caught by the test expectation on the following line:
    I/flutter (15446):   file:///Users/m/root/topics/coding/flutter/learning/testing/test/screens/home_test.dart line 21
    I/flutter (15446): The test description was:
    I/flutter (15446):   Testing Scrolling
    I/flutter (15446): ════════════════════════════════════════════════════════════════════════════════════════════════════
    I/flutter (15446): 00:02 +0: Home Page Widget Tests Testing Scrolling [E]
    I/flutter (15446):   Test failed. See exception logs above.
    I/flutter (15446):   The test description was: Testing Scrolling
    I/flutter (15446):   
    I/flutter (15446): 00:02 +0 -1: Some tests failed.
    
    
    flutter doctor -v                           
    [✓] Flutter (Channel dev, 1.26.0-8.0.pre, on macOS 11.1 20C69 darwin-x64, locale
        en-GB)
        • Flutter version 1.26.0-8.0.pre at /Users/m/root/topics/coding/flutter/sdk
        • Framework revision b9d06fffb2 (9 days ago), 2021-01-07 18:36:48 -0800
        • Engine revision 42a8d4c681
        • Dart version 2.12.0 (build 2.12.0-179.0.dev)
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        • Android SDK at /Users/m/Library/Android/sdk
        • Platform android-30, build-tools 30.0.3
        • Java binary at: /Applications/Android
          Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build
          1.8.0_242-release-1644-b3-6915495)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 12.3)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 12.3, Build version 12C33
        • CocoaPods version 1.10.1
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 4.1)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build
          1.8.0_242-release-1644-b3-6915495)
    
    [✓] IntelliJ IDEA Community Edition (version 2020.3.1)
        • IntelliJ at /Applications/IntelliJ IDEA CE.app
        • Flutter plugin version 52.2.5
        • Dart plugin version 203.6912
    
    [✓] VS Code (version 1.52.1)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.18.1
    
    [✓] Connected device (4 available)
        • G8341 (mobile)              • BH905PQH8Y                               •
          android-arm64  • Android 9 (API 28)
        • sdk gphone x86 arm (mobile) • emulator-5554                            •
          android-x86    • Android 11 (API 30) (emulator)
        • midev1 (mobile)             • a1dc22872978776b04ca280e3a3240adaa3fda50 •
          ios            • iOS 14.3
        • Chrome (web)                • chrome                                   •
          web-javascript • Google Chrome 87.0.4280.141
    
    • No issues found!
    
    p2-medium e1-hours codelab-external 
    opened by crcdng 19
  • 'MacOS install' page issue

    'MacOS install' page issue

    Page URL: https://flutter.dev/docs/get-started/install/macos.html Page source: https://github.com/flutter/website/tree/master/src/docs/get-started/install/macos.md

    Since the move to using flutter.dev (I think) it now does not work on our firewall. can both sites remain intact as mirrors rather than redirecting, or somehow otherwise have this be fixed on flutter's side?

    Or can i get something more specific that doesnt cause our IT dept to go "huh?: if i try to report it... Preferably a fix on Flutter's end. (see the blue Loading...) button

    Description of issue: image

    infrastructure 
    opened by neiljaywarner 19
  • New homepage

    New homepage

    Fixes https://github.com/flutter/flutter/issues/9671 Fixes https://github.com/flutter/flutter/issues/9609 Fixes https://github.com/flutter/flutter/issues/9608 Fixes https://github.com/flutter/flutter/issues/9578 Fixes https://github.com/flutter/flutter/issues/8896 Fixes https://github.com/flutter/flutter/issues/8718 Fixes https://github.com/flutter/flutter/issues/9300 Fixes https://github.com/flutter/flutter/issues/9623

    cla: yes 
    opened by sethladd 19
  • Update hello world example to match current behavior

    Update hello world example to match current behavior

    The current hello world example does not run. Adding 'textDirection' to match the code in examples/hello_world/lib/main.dart fixes the bug and allows the code to run. The website documentation should be updated to match the current code.

    cla: yes 
    opened by mattrenquist 18
  • update code sample cookbook background parsing

    update code sample cookbook background parsing

    fix flutter/website#6768

    updating the current coda sample with the following

    new code sample
    import 'dart:async';
    import 'dart:convert';
    
    import 'package:flutter/foundation.dart';
    import 'package:flutter/material.dart';
    import 'package:http/http.dart' as http;
    
    Future<List<Photo>> fetchPhotos(http.Client client) async {
      final uri = Uri.parse('https://jsonplaceholder.typicode.com/photos');
      final response = await client.get(uri);
    
      // Use the compute function to run parsePhotos in a separate isolate.
      return compute(parsePhotos, response.body);
    }
    
    // A function that converts a response body into a List<Photo>.
    List<Photo> parsePhotos(String responseBody) {
      final parsed = jsonDecode(responseBody) as List;
      return [for (final json in parsed) Photo.fromJson(json)];
    }
    
    @immutable
    class Photo {
      final int albumId, id;
      final String title, url, thumbnailUrl;
    
      const Photo({
        required this.albumId,
        required this.id,
        required this.title,
        required this.url,
        required this.thumbnailUrl,
      });
    
      factory Photo.fromJson(Map<String, Object?> json) {
        return Photo(
          albumId: json['albumId'] as int,
          id: json['id'] as int,
          title: json['title'] as String,
          url: json['url'] as String,
          thumbnailUrl: json['thumbnailUrl'] as String,
        );
      }
    }
    
    void main() => runApp(const MyApp());
    
    class MyApp extends StatelessWidget {
      const MyApp({Key? key}) : super(key: key);
      static const _appTitle = 'Isolate Demo';
    
      @override
      Widget build(BuildContext context) {
        return const MaterialApp(
          title: _appTitle,
          home: MyHomePage(title: _appTitle),
        );
      }
    }
    
    class MyHomePage extends StatelessWidget {
      final String title;
    
      const MyHomePage({Key? key, required this.title}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text(title),
          ),
          body: FutureBuilder<List<Photo>>(
            future: fetchPhotos(http.Client()),
            builder: (context, snapshot) {
              if (snapshot.hasError) {
                print(snapshot.error);
                return const Center(child: Icon(Icons.error));
              }
              return snapshot.hasData
                  ? PhotosList(photos: snapshot.data!)
                  : const Center(child: CircularProgressIndicator());
            },
          ),
        );
      }
    }
    
    class PhotosList extends StatelessWidget {
      final List<Photo> photos;
    
      const PhotosList({Key? key, required this.photos}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return GridView.builder(
          gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 2,
          ),
          itemCount: photos.length,
          itemBuilder: (context, index) {
            return Image.network(photos[index].thumbnailUrl);
          },
        );
      }
    }
    

    testing the code above with the latest master on android physical device

    doctor
    [✓] Flutter (Channel master, 2.3.0-2.0.pre.234, on Ubuntu 21.04 5.11.0-17-generic, locale en_US.UTF-8)
        • Flutter version 2.3.0-2.0.pre.234 at /home/yakforward/development/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 89442b495e (33 hours ago), 2021-05-14 21:34:02 -0700
        • Engine revision 3c1d96f0b8
        • Dart version 2.14.0 (build 2.14.0-edge.a527411e5100a0a4f48c4009087a1b988aa784af)
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        • Android SDK at /home/yakforward/Android/Sdk
        • Platform android-30, build-tools 30.0.3
        • Java binary at: /snap/android-studio/101/android-studio/jre/bin/java
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
        • All Android licenses accepted.
    
    [✓] Chrome - develop for the web
        • Chrome at google-chrome
    
    [✓] Linux toolchain - develop for Linux desktop
        • Ubuntu clang version 12.0.0-1ubuntu1
        • cmake version 3.18.4
        • ninja version 1.10.1
        • pkg-config version 0.29.2
    
    [✓] Android Studio (version 4.1)
        • Android Studio at /snap/android-studio/101/android-studio
        • Flutter plugin version 55.1.1
        • Dart plugin version 201.9335
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    
    [✓] Connected device (3 available)
        • Pixel 3a (mobile) • 965AY0WP5C • android-arm64  • Android 11 (API 30)
        • Linux (desktop)   • linux      • linux-x64      • Ubuntu 21.04 5.11.0-17-generic
        • Chrome (web)      • chrome     • web-javascript • Google Chrome 90.0.4430.212
    
    • No issues found!
    
    

    everything seems to work as intended

    logs
    [  +66 ms] executing: uname -m
    [  +32 ms] Exit code 0 from: uname -m
    [        ] x86_64
    [   +6 ms] executing: [/home/yakforward/development/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
    [   +8 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
    [        ] 89442b495e5a3537d53247f49d7ac32bf3784af8
    [   +1 ms] executing: [/home/yakforward/development/flutter/] git tag --points-at 89442b495e5a3537d53247f49d7ac32bf3784af8
    [  +12 ms] Exit code 0 from: git tag --points-at 89442b495e5a3537d53247f49d7ac32bf3784af8
    [   +1 ms] executing: [/home/yakforward/development/flutter/] git describe --match *.*.* --long --tags 89442b495e5a3537d53247f49d7ac32bf3784af8
    [  +35 ms] Exit code 0 from: git describe --match *.*.* --long --tags 89442b495e5a3537d53247f49d7ac32bf3784af8
    [        ] 2.3.0-1.0.pre-234-g89442b495e
    [   +8 ms] executing: [/home/yakforward/development/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
    [   +5 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
    [        ] origin/master
    [        ] executing: [/home/yakforward/development/flutter/] git ls-remote --get-url origin
    [   +4 ms] Exit code 0 from: git ls-remote --get-url origin
    [        ] https://github.com/flutter/flutter.git
    [  +80 ms] executing: [/home/yakforward/development/flutter/] git rev-parse --abbrev-ref HEAD
    [   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
    [        ] master
    [  +83 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
    [   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
    [  +90 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb devices -l
    [  +43 ms] List of devices attached
               965AY0WP5C             device usb:1-2 product:sargo model:Pixel_3a device:sargo transport_id:4
    [   +6 ms] /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell getprop
    [ +113 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
    [   +3 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
    [   +8 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
    [   +5 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
    [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
    [  +85 ms] Skipping pub get: version match.
    [ +138 ms] Generating /home/yakforward/projects/issue/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
    [  +62 ms] ro.hardware = sargo
    [        ] ro.build.characteristics = nosdcard
    [  +49 ms] Initializing file store
    [  +11 ms] Skipping target: gen_localizations
    [   +7 ms] Skipping target: gen_dart_plugin_registrant
    [        ] Skipping target: _composite
    [   +2 ms] complete
    [   +6 ms] Launching lib/main.dart on Pixel 3a in debug mode...
    [   +5 ms] /home/yakforward/development/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /home/yakforward/development/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot
    --sdk-root /home/yakforward/development/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --target=flutter --debugger-module-names --experimental-emit-debug-metadata
    -DFLUTTER_WEB_AUTO_DETECT=true --output-dill /tmp/flutter_tools.KLIXAG/flutter_tool.DHLLHJ/app.dill --packages /home/yakforward/projects/issue/.dart_tool/package_config.json -Ddart.vm.profile=false
    -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill build/f245b0b7cc30f460f818fcec6bcf01fb.cache.dill.track.dill
    --flutter-widget-cache --enable-experiment=alternative-invalidation-strategy
    [  +14 ms] executing: /home/yakforward/Android/Sdk/build-tools/30.0.3/aapt dump xmltree /home/yakforward/projects/issue/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
    [   +4 ms] Exit code 0 from: /home/yakforward/Android/Sdk/build-tools/30.0.3/aapt dump xmltree /home/yakforward/projects/issue/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
    [        ] N: android=http://schemas.android.com/apk/res/android
                 E: manifest (line=2)
                   A: android:versionCode(0x0101021b)=(type 0x10)0x1
                   A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
                   A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
                   A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
                   A: package="com.example.issue" (Raw: "com.example.issue")
                   A: platformBuildVersionCode=(type 0x10)0x1e
                   A: platformBuildVersionName=(type 0x10)0xb
                   E: uses-sdk (line=7)
                     A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                     A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
                   E: uses-permission (line=14)
                     A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
                   E: application (line=16)
                     A: android:label(0x01010001)="issue" (Raw: "issue")
                     A: android:icon(0x01010002)=@0x7f080000
                     A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                     A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")
                     E: activity (line=21)
                       A: android:theme(0x01010000)=@0x7f0a0000
                       A: android:name(0x01010003)="com.example.issue.MainActivity" (Raw: "com.example.issue.MainActivity")
                       A: android:launchMode(0x0101001d)=(type 0x10)0x1
                       A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                       A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                       A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                       E: meta-data (line=35)
                         A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                         A: android:resource(0x01010025)=@0x7f0a0001
                       E: meta-data (line=45)
                         A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw: "io.flutter.embedding.android.SplashScreenDrawable")
                         A: android:resource(0x01010025)=@0x7f040000
                       E: intent-filter (line=49)
                         E: action (line=50)
                           A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                         E: category (line=52)
                           A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                     E: meta-data (line=59)
                       A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                       A: android:value(0x01010024)=(type 0x10)0x2
    [   +9 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell -x logcat -v time -t 1
    [  +17 ms] <- compile package:issue/main.dart
    [  +87 ms] --------- beginning of main
               05-16 16:29:28.658 D/VSC     ( 1045): @ 101113.842: [WO] rejected by isOrientationAngleAcceptable
    [  +11 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb version
    [   +8 ms] Android Debug Bridge version 1.0.41
               Version 31.0.2-7242960
               Installed as /home/yakforward/Android/Sdk/platform-tools/adb
    [   +2 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb start-server
    [  +12 ms] Building APK
    [  +27 ms] Running Gradle task 'assembleDebug'...
    [   +5 ms] Using gradle from /home/yakforward/projects/issue/android/gradlew.
    [  +20 ms] executing: /snap/android-studio/101/android-studio/jre/bin/java -version
    [  +51 ms] Exit code 0 from: /snap/android-studio/101/android-studio/jre/bin/java -version
    [        ] openjdk version "1.8.0_242-release"
               OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
               OpenJDK 64-Bit Server VM (build 25.242-b3-6222593, mixed mode)
    [   +2 ms] executing: [/home/yakforward/projects/issue/android/] /home/yakforward/projects/issue/android/gradlew -Pverbose=true -Ptarget-platform=android-arm64
    -Ptarget=/home/yakforward/projects/issue/lib/main.dart -Pdart-defines=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ== -Pdart-obfuscation=false -Ptrack-widget-creation=true -Ptree-shake-icons=false
    -Pfilesystem-scheme=org-dartlang-root assembleDebug
    [+3745 ms] > Task :app:compileFlutterBuildDebug
    [        ] [  +75 ms] executing: uname -m
    [        ] [  +34 ms] Exit code 0 from: uname -m
    [        ] [        ] x86_64
    [        ] [   +9 ms] executing: [/home/yakforward/development/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
    [        ] [   +6 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
    [        ] [        ] 89442b495e5a3537d53247f49d7ac32bf3784af8
    [        ] [        ] executing: [/home/yakforward/development/flutter/] git tag --points-at 89442b495e5a3537d53247f49d7ac32bf3784af8
    [        ] [  +32 ms] Exit code 0 from: git tag --points-at 89442b495e5a3537d53247f49d7ac32bf3784af8
    [        ] [   +1 ms] executing: [/home/yakforward/development/flutter/] git describe --match *.*.* --long --tags 89442b495e5a3537d53247f49d7ac32bf3784af8
    [        ] [  +59 ms] Exit code 0 from: git describe --match *.*.* --long --tags 89442b495e5a3537d53247f49d7ac32bf3784af8
    [        ] [        ] 2.3.0-1.0.pre-234-g89442b495e
    [        ] [   +6 ms] executing: [/home/yakforward/development/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
    [        ] [   +5 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
    [        ] [        ] origin/master
    [        ] [        ] executing: [/home/yakforward/development/flutter/] git ls-remote --get-url origin
    [        ] [   +5 ms] Exit code 0 from: git ls-remote --get-url origin
    [        ] [        ] https://github.com/flutter/flutter.git
    [        ] [  +88 ms] executing: [/home/yakforward/development/flutter/] git rev-parse --abbrev-ref HEAD
    [        ] [   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
    [        ] [        ] master
    [        ] [  +62 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
    [        ] [   +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
    [  +15 ms] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
    [   +1 ms] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
    [        ] [  +97 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
    [        ] [   +3 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
    [   +2 ms] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
    [   +2 ms] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
    [   +1 ms] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
    [   +1 ms] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
    [   +1 ms] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
    [   +1 ms] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
    [   +1 ms] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
    [   +1 ms] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
    [        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
    [   +3 ms] [  +34 ms] Initializing file store
    [        ] [  +10 ms] Done initializing file store
    [        ] [  +57 ms] Skipping target: gen_localizations
    [        ] [  +14 ms] Skipping target: gen_dart_plugin_registrant
    [ +221 ms] [ +708 ms] kernel_snapshot: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: /home/yakforward/projects/issue/lib/main.dart}
    [        ] [  +10 ms] /home/yakforward/development/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev
    /home/yakforward/development/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
    /home/yakforward/development/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --target=flutter --no-print-incremental-dependencies -DFLUTTER_WEB_AUTO_DETECT=true -Ddart.vm.profile=false
    -Ddart.vm.product=false --enable-asserts --track-widget-creation --no-link-platform --packages /home/yakforward/projects/issue/.dart_tool/package_config.json --output-dill
    /home/yakforward/projects/issue/.dart_tool/flutter_build/1cb2f074a2fd0df3ae6b269ef04a7afb/app.dill --depfile
    /home/yakforward/projects/issue/.dart_tool/flutter_build/1cb2f074a2fd0df3ae6b269ef04a7afb/kernel_snapshot.d package:issue/main.dart
    [+14599 ms] [+14646 ms] kernel_snapshot: Complete
    [ +800 ms] [ +785 ms] debug_android_application: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents:
    /home/yakforward/projects/issue/.dart_tool/flutter_build/1cb2f074a2fd0df3ae6b269ef04a7afb/app.dill}
    [ +299 ms] [ +264 ms] debug_android_application: Complete
    [ +300 ms] [ +374 ms] Persisting file store
    [        ] [   +8 ms] Done persisting file store
    [ +100 ms] [  +14 ms] build succeeded.
    [        ] [  +15 ms] "flutter assemble" took 17,069ms.
    [ +198 ms] [ +224 ms] ensureAnalyticsSent: 209ms
    [        ] [   +5 ms] Running shutdown hooks
    [        ] [   +1 ms] Shutdown hooks complete
    [        ] [   +2 ms] exiting with code 0
    [ +199 ms] > Task :app:packLibsflutterBuildDebug UP-TO-DATE
    [        ] > Task :app:preBuild UP-TO-DATE
    [        ] > Task :app:preDebugBuild UP-TO-DATE
    [        ] > Task :app:compileDebugAidl NO-SOURCE
    [        ] > Task :app:compileDebugRenderscript NO-SOURCE
    [        ] > Task :app:generateDebugBuildConfig UP-TO-DATE
    [  +98 ms] > Task :app:checkDebugAarMetadata UP-TO-DATE
    [        ] > Task :app:cleanMergeDebugAssets
    [        ] > Task :app:mergeDebugShaders UP-TO-DATE
    [        ] > Task :app:compileDebugShaders NO-SOURCE
    [        ] > Task :app:generateDebugAssets UP-TO-DATE
    [  +98 ms] > Task :app:mergeDebugAssets
    [ +300 ms] > Task :app:copyFlutterAssetsDebug
    [        ] > Task :app:generateDebugResValues UP-TO-DATE
    [        ] > Task :app:generateDebugResources UP-TO-DATE
    [        ] > Task :app:mergeDebugResources UP-TO-DATE
    [        ] > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
    [        ] > Task :app:extractDeepLinksDebug UP-TO-DATE
    [        ] > Task :app:processDebugMainManifest UP-TO-DATE
    [        ] > Task :app:processDebugManifest UP-TO-DATE
    [        ] > Task :app:processDebugManifestForPackage UP-TO-DATE
    [  +97 ms] > Task :app:processDebugResources UP-TO-DATE
    [ +100 ms] > Task :app:compileDebugKotlin UP-TO-DATE
    [        ] > Task :app:javaPreCompileDebug UP-TO-DATE
    [        ] > Task :app:compileDebugJavaWithJavac UP-TO-DATE
    [        ] > Task :app:compileDebugSources UP-TO-DATE
    [        ] > Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
    [        ] > Task :app:processDebugJavaRes NO-SOURCE
    [        ] > Task :app:mergeDebugJavaResource UP-TO-DATE
    [  +98 ms] > Task :app:checkDebugDuplicateClasses UP-TO-DATE
    [        ] > Task :app:dexBuilderDebug UP-TO-DATE
    [        ] > Task :app:desugarDebugFileDependencies UP-TO-DATE
    [  +99 ms] > Task :app:mergeExtDexDebug UP-TO-DATE
    [        ] > Task :app:mergeDexDebug UP-TO-DATE
    [        ] > Task :app:mergeDebugJniLibFolders UP-TO-DATE
    [  +99 ms] > Task :app:mergeDebugNativeLibs UP-TO-DATE
    [        ] > Task :app:stripDebugDebugSymbols UP-TO-DATE
    [        ] > Task :app:validateSigningDebug UP-TO-DATE
    [ +599 ms] > Task :app:compressDebugAssets
    [+1000 ms] > Task :app:packageDebug
    [ +199 ms] > Task :app:assembleDebug
    [        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    [        ] Use '--warning-mode all' to show the individual deprecation warnings.
    [        ] See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
    [        ] BUILD SUCCESSFUL in 23s
    [        ] 32 actionable tasks: 7 executed, 25 up-to-date
    [ +372 ms] Running Gradle task 'assembleDebug'... (completed in 23.7s)
    [  +85 ms] calculateSha: LocalDirectory: '/home/yakforward/projects/issue/build/app/outputs/flutter-apk'/app.apk
    [ +921 ms] ✓  Built build/app/outputs/flutter-apk/app-debug.apk.
    [   +2 ms] executing: /home/yakforward/Android/Sdk/build-tools/30.0.3/aapt dump xmltree /home/yakforward/projects/issue/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
    [  +20 ms] Exit code 0 from: /home/yakforward/Android/Sdk/build-tools/30.0.3/aapt dump xmltree /home/yakforward/projects/issue/build/app/outputs/flutter-apk/app.apk AndroidManifest.xml
    [        ] N: android=http://schemas.android.com/apk/res/android
                 E: manifest (line=2)
                   A: android:versionCode(0x0101021b)=(type 0x10)0x1
                   A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
                   A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
                   A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
                   A: package="com.example.issue" (Raw: "com.example.issue")
                   A: platformBuildVersionCode=(type 0x10)0x1e
                   A: platformBuildVersionName=(type 0x10)0xb
                   E: uses-sdk (line=7)
                     A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                     A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
                   E: uses-permission (line=14)
                     A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
                   E: application (line=16)
                     A: android:label(0x01010001)="issue" (Raw: "issue")
                     A: android:icon(0x01010002)=@0x7f080000
                     A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                     A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")
                     E: activity (line=21)
                       A: android:theme(0x01010000)=@0x7f0a0000
                       A: android:name(0x01010003)="com.example.issue.MainActivity" (Raw: "com.example.issue.MainActivity")
                       A: android:launchMode(0x0101001d)=(type 0x10)0x1
                       A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                       A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                       A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                       E: meta-data (line=35)
                         A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                         A: android:resource(0x01010025)=@0x7f0a0001
                       E: meta-data (line=45)
                         A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw: "io.flutter.embedding.android.SplashScreenDrawable")
                         A: android:resource(0x01010025)=@0x7f040000
                       E: intent-filter (line=49)
                         E: action (line=50)
                           A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                         E: category (line=52)
                           A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                     E: meta-data (line=59)
                       A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                       A: android:value(0x01010024)=(type 0x10)0x2
    [   +2 ms] Stopping app 'app.apk' on Pixel 3a.
    [   +1 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell am force-stop com.example.issue
    [ +120 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell pm list packages com.example.issue
    [ +129 ms] package:com.example.issue
    [   +5 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell cat /data/local/tmp/sky.com.example.issue.sha1
    [  +87 ms] 1a796b783c0c1b6bf3c4720e44a5b922ecb7715d
    [   +1 ms] Installing APK.
    [   +3 ms] Installing build/app/outputs/flutter-apk/app.apk...
    [        ] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C install -t -r /home/yakforward/projects/issue/build/app/outputs/flutter-apk/app.apk
    [+3879 ms] Performing Streamed Install
                        Success
    [        ] Installing build/app/outputs/flutter-apk/app.apk... (completed in 3.9s)
    [   +1 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell echo -n 99c87c2100011e414fdcb48cf57118abf110588a > /data/local/tmp/sky.com.example.issue.sha1
    [  +20 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell -x logcat -v time -t 1
    [  +55 ms] --------- beginning of main
               05-16 16:29:59.666 I/InputReader( 1663): Reconfiguring input devices, changes=KEYBOARD_LAYOUTS |
    [  +37 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez
    enable-dart-profiling true --ez enable-checked-mode true --ez verify-entry-points true com.example.issue/com.example.issue.MainActivity
    [  +99 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.issue/.MainActivity (has extras) }
    [        ] Waiting for observatory port to be available...
    [+1081 ms] Observatory URL on device: http://127.0.0.1:39973/0AiW-OHFrps=/
    [   +1 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C forward tcp:0 tcp:39973
    [   +7 ms] 33163
    [        ] Forwarded host port 33163 to device port 39973 for Observatory
    [   +6 ms] Caching compiled dill
    [  +48 ms] Connecting to service protocol: http://127.0.0.1:33163/0AiW-OHFrps=/
    [ +453 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at http://127.0.0.1:33163/0AiW-OHFrps=/.
    [ +297 ms] DDS is listening at http://127.0.0.1:41515/hBzZJ6TP7NA=/.
    [  +63 ms] Successfully connected to service protocol: http://127.0.0.1:33163/0AiW-OHFrps=/
    [  +28 ms] DevFS: Creating new filesystem on the device (null)
    [  +42 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.example.issue/code_cache/issueGQBFDL/issue/)
    [   +9 ms] Updating assets
    [  +76 ms] Syncing files to device Pixel 3a...
    [   +1 ms] <- reset
    [        ] Compiling dart to kernel with 0 updated files
    [   +1 ms] <- recompile package:issue/main.dart 5faeeabb-7d7f-4696-8834-08a797559c9c
    [        ] <- 5faeeabb-7d7f-4696-8834-08a797559c9c
    [ +117 ms] Updating files.
    [        ] DevFS: Sync finished
    [   +1 ms] Syncing files to device Pixel 3a... (completed in 121ms)
    [        ] Synced 0.0MB.
    [        ] <- accept
    [  +23 ms] Connected to _flutterView/0x7066741870.
    [   +4 ms] Flutter run key commands.
    [   +3 ms] r Hot reload. 🔥🔥🔥
    [        ] R Hot restart.
    [        ] h List all available interactive commands.
    [        ] d Detach (terminate "flutter run" but leave application running).
    [        ] c Clear the screen
    [        ] q Quit (terminate the application on the device).
    [        ] 💪 Running with sound null safety 💪
    [        ] An Observatory debugger and profiler on Pixel 3a is available at: http://127.0.0.1:41515/hBzZJ6TP7NA=/
    [+1115 ms] DevTools activation throttled until 2021-05-17 04:11:36.938971.
    [ +624 ms] The Flutter DevTools debugger and profiler on Pixel 3a is available at: http://127.0.0.1:9101?uri=http%3A%2F%2F127.0.0.1%3A41515%2FhBzZJ6TP7NA%3D%2F
    [+13891 ms] Skipping target: gen_localizations
    [   +1 ms] Skipping target: gen_dart_plugin_registrant
    [   +2 ms] Skipping target: _composite
    [        ] complete
    [   +6 ms] Performing hot restart...
    [  +14 ms] Scanned through 517 files in 9ms
    [        ] Syncing files to device Pixel 3a...
    [        ] <- reset
    [        ] Compiling dart to kernel with 0 updated files
    [        ] <- recompile package:issue/main.dart a0a8873e-906b-4f41-b84a-4b32ebeae639
    [        ] <- a0a8873e-906b-4f41-b84a-4b32ebeae639
    [ +118 ms] Updating files.
    [ +731 ms] DevFS: Sync finished
    [        ] Syncing files to device Pixel 3a... (completed in 852ms)
    [        ] Synced 26.8MB.
    [        ] <- accept
    [ +474 ms] Hot restart performed in 1,337ms.
    [   +3 ms] Performing hot restart... (completed in 1,345ms)
    [        ] Restarted application in 1,365ms.
    [+71434 ms] Service protocol connection closed.
    [        ] Lost connection to device.
    [   +1 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C forward --list
    [   +5 ms] Exit code 0 from: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C forward --list
    [        ] 965AY0WP5C tcp:33163 tcp:39973
    [        ] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C forward --remove tcp:33163
    [  +10 ms] DevFS: Deleting filesystem on the device (file:///data/user/0/com.example.issue/code_cache/issueGQBFDL/issue/)
    [ +255 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
    [   +8 ms] executing: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C forward --list
    [   +6 ms] Exit code 0 from: /home/yakforward/Android/Sdk/platform-tools/adb -s 965AY0WP5C forward --list
    [   +3 ms] "flutter run" took 121,120ms.
    [ +259 ms] ensureAnalyticsSent: 254ms
    [   +5 ms] Running shutdown hooks
    [   +1 ms] Shutdown hooks complete
    [   +5 ms] exiting with code 0
    
    
    cla: yes 
    opened by iapicca 16
  • Reworked getting started experience

    Reworked getting started experience

    Re-work the getting started flow to:

    1. Actually be a flow
    2. Enable Flutter editor choice (AS, VSCode, terminal+other)
    3. Prepare for plugging in the new getting started tutorial

    Staging link: https://flutter-website-staging.firebaseapp.com/

    cla: yes 
    opened by mit-mit 16
  • 'Background processes' page issue - Contents maybe deprecated

    'Background processes' page issue - Contents maybe deprecated

    Page URL: https://flutter.dev/docs/development/packages-and-plugins/background-processes.html Page source: https://github.com/flutter/website/tree/master/src/docs/development/packages-and-plugins/background-processes.md

    Description of issue: I am a flutter developer and I had followed Ben Kony's excellent guideline to create my application with background process under flutter SDK version 1.9. However, the example mentioned in this page does not adapted the changes on flutter SDK version 1.12. As I understanding, flutter had introduced a new way to register plugin in the release of SDK version 1.12. Flutter team also provided a clear guideline to demonstrate the necessary change on the pre 1.12 Android projects. The page mentions a very important motivation to ours which is the plugins will not work on older pre-1.12 Android projects if it developed exclusively on the new plugins API.

    Unfortunately, the example that provided by the Ben, Executing Dart in the Background with Flutter Plugins and Geofencing, is using the pre 1.12 way to register the plugins for "background" Application. It makes the plugins all working in background limited under V1 embedding which are still using PluginRegistry way to register the plugin. And, some new plugins that developed exclusively on the new plugins API become not applicable in the end.

          // Create a FlutterNativeView with no drawing surface (i.e., a
          // background view).
          sBackgroundFlutterView = FlutterNativeView(context, true)
          
          // Register all plugins for the application with our new
          // FlutterNativeView's plugin registry. Other plugins will not
          // work when running in the background if this isn't done!
          val registry = sBackgroundFlutterView!!.pluginRegistry
          sPluginRegistrantCallback.registerWith(registry)
          
          val args = FlutterRunArguments()
          args.bundlePath = FlutterMain.findAppBundlePath(context)
          args.entrypoint = callbackInfo.callbackName
          args.libraryPath = callbackInfo.callbackLibraryPath
          
          // Start running callback dispatcher code in our background view.
          sBackgroundFlutterView!!.runFromBundle(args)
    

    Since I am still new to flutter, I almost tried my best to browse the internet for finding a way to deal with this issue but I failed. Can flutter team suggest a better way to implement background process for the flutter project after SDK version 1.12?

    p2-medium e2-days 
    opened by tc14077 15
  • Update mentions of Observatory to DevTools

    Update mentions of Observatory to DevTools

    Description of what this PR is changing or adding, and why:

    • Removes mentions of how DevTools replaces Observatory. We've been in this situation for a while
    • Update instructions for opening DevTools to use the simpler URI with the security token
    • Showcase the new flutter run output with both Observatory and Devtools links
    • Adjust a usage of Observatory's timeline to DevTools

    Issues fixed by this PR (if any): Fixes N/A

    Presubmit checklist

    opened by parlough 0
  • Missing steps to host Flutter web app in Firebase

    Missing steps to host Flutter web app in Firebase

    Page URL

    https://docs.flutter.dev/get-started

    Page source

    https://github.com/flutter/website/tree/main/src/get-started/install/index.md

    Describe the problem

    as Firebase became an official host for Flutter web, it will make sense to publish official steps

    For example, instead of three options here, have just one with fast and easy to follow steps: https://docs.flutter.dev/deployment/web#deploying-to-the-web

    Expected fix

    No response

    Additional context

    No response

    opened by polina-c 0
  • [PAGE ISSUE]: 'Creating flavors for Flutter'

    [PAGE ISSUE]: 'Creating flavors for Flutter'

    Page URL

    https://docs.flutter.dev/deployment/flavors/

    Page source

    https://github.com/flutter/website/tree/main/src/deployment/flavors.md

    Describe the problem

    In the section for "Using flavors in Android" it says that you can change the applicationId. The example shows the key applicationId. However, the value provided looks very much like a suffix ".free"

    Expected fix

    It is more likely that the documentation wants to use the key applicationIdSuffix instead of applicationId.

    Additional context

    No response

    p2-medium e0-minutes 
    opened by hedgeye-jmyers 1
  • [PAGE ISSUE]: 'Cupertino (iOS-style) widgets'

    [PAGE ISSUE]: 'Cupertino (iOS-style) widgets'

    Page URL

    https://docs.flutter.dev/development/ui/widgets/cupertino/

    Page source

    https://github.com/flutter/website/tree/main/src/development/ui/widgets/cupertino.md

    Describe the problem

    the run results are not showing up it says javascript error

    Expected fix

    No response

    Additional context

    No response

    in triage waiting for customer response 
    opened by EngHussam23 1
  • #8022 - Add explanation for test file location

    #8022 - Add explanation for test file location

    Description of what this PR is changing or adding, and why: The introduction for widget testing should explain where the test file should be created as the introduction for unit testing does. See https://docs.flutter.dev/cookbook/testing/unit/introduction#2-create-a-test-file

    Issues fixed by this PR (if any): Fixes #8022

    Presubmit checklist

    opened by JaredEzz 0
Owner
Flutter
Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase.
Flutter
site de análise de livros

meu_site A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Leonardo Campos 0 Jan 4, 2022
flutter web app with given code and example. Step by step teaching how to build a flutter web app with backend

flutter_web A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

dbestech 20 Oct 26, 2022
Flutter-web-portfolio - A Basic web portfolio built using flutter

My Flutter Web Portfolio It is a basic flutter web portfolio. 1. Home To use thi

Aleyna Eser 2 May 30, 2022
Flutter web socket - Flutter Web Socket Example

web_socket_example A new Flutter Web Socket project. Getx and web_scoket_channel

Gizem Malçok 7 Nov 2, 2022
Trying out Flutter for desktop Web app development as an alternative to SPA frameworks (such as React and Angular) by recreating one of the pages of an existing CV Management web app

HTML Renderer Demo CanvasKit Renderer Demo Reddit discussion This repo contains a PoC of using Flutter as a traditional SPA framework for creating a d

Maxim Saplin 20 Oct 11, 2022
An isolated worker for Flutter (Isolate) and Web (Web Worker). Behaves almost the same as the compute function, except it is not a one-off worker.

A singleton isolated worker for all platforms. On most platforms, it uses Flutter's Isolate, except on the web, since Isolate is not available, it use

Iandi Santulus 30 Nov 11, 2022
A zero-dependency web framework for writing web apps in plain Dart.

Rad Rad is a frontend framework for creating fast and interactive web apps using Dart. It's inspired from Flutter and shares same programming paradigm

null 70 Dec 13, 2022
Flutter app demonstrating Flutter web rendering

Flutter Plasma Flutter app demonstrating Flutter web rendering. URL: https://flutterplasma.dev Routes /: Default demo /nocredits: Demo stops before cr

Felix Blaschke 362 Dec 29, 2022
Aris fltrtuber - Flutter Web App to list top 30 YouTubers who create tutorial on Flutter

Fluttuber - Top 30 Flutter YouTubers Flutter Web App to list top 30 YouTubers wh

Behruz Hurramov 3 Jan 27, 2022
Let's setup Firebase​​ for our Flutter​​ app on Android​, iOS​ and Flutter Web. Setup Firebase to use Firebase products.

Flutter Tutorial - Firebase Setup For Flutter Web Let's setup Firebase for our Flutter app on Android, iOS and Flutter Web. Setup Firebase to use Fire

null 1 Apr 27, 2022
flutter 2.0 web demo

web_demo Flutter 2.0 快速构建的一个站点样例 在线预览:http://webdemo.loveli.site github ci构建的版本(每次代码提交,自动构建):http://webdemo.oldbird.run, 采用 hash 路由策略 更多精彩,请关注官方微信公众号:

swiftdo 46 Dec 29, 2022
A web portfolio made with flutter

Web Portfolio, Based on a design on UpLabs and hosted on Firebase ?? .

Olayemii Garuba 171 Jan 4, 2023
Persist data with Flutter's Hive NoSQL Database locally on Android, iOS & Web.

Flutter Tutorial - Hive NoSQL Database Persist data with Flutter's Hive NoSQL Database locally on Android, iOS & Web. ✌  Preview App Preview Course Pr

Johannes Milke 54 Dec 31, 2022
Simple tool to open WhatsApp chat without saving the number, developed using Google's Flutter Framework. for Android/ IOS/ Desktop/ Web

OpenWp Simple tool to open WhatsApp chat without saving the number Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About

Swarup Bhanja Chowdhury 15 Nov 1, 2022
An E-Commerce application developed on Flutter, which helps to run the app on Android / IOS / Windows's OS / MacOS / Web Browser from a single codebase

BuySmart An E-Commerce application developed on Flutter, which helps to run the app on Android / IOS / Windows's OS / MacOS / Web Browser from a singl

Sumit Kumar 11 Oct 10, 2022
Aplicação web para mostrar os grupos do desafio final do módulo de Flutter da Soulcode

flutterteams A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

José Almir 3 Sep 6, 2021
One Page Scroll package for Flutter Web

OPscroll_web OPScroll A simple and easy to use library that creates OnePage sites for Flutter Web Developers! Make a beautiful and smooth landing page

Gucci Şekspir 7 Dec 17, 2022