text:
[Impeller] Support Vulkan YUV texture sampling for composition of video player frames.

I'm toying with migrating video_player_android to the new consumer-agnostic SurfaceProducer API.

Patch
diff --git a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
index 57fc1037c..f9557a494 100644
--- a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
+++ b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
@@ -50,7 +50,7 @@ final class VideoPlayer {

   private Surface surface;

-  private final TextureRegistry.SurfaceTextureEntry textureEntry;
+  private final TextureRegistry.SurfaceProducer textureProducer;

   private QueuingEventSink eventSink;

@@ -67,13 +67,13 @@ final class VideoPlayer {
   VideoPlayer(
       Context context,
       EventChannel eventChannel,
-      TextureRegistry.SurfaceTextureEntry textureEntry,
+      TextureRegistry.SurfaceProducer textureProducer,
       String dataSource,
       String formatHint,
       @NonNull Map<String, String> httpHeaders,
       VideoPlayerOptions options) {
     this.eventChannel = eventChannel;
-    this.textureEntry = textureEntry;
+    this.textureProducer = textureProducer;
     this.options = options;

     ExoPlayer exoPlayer = new ExoPlayer.Builder(context).build();
@@ -96,12 +96,12 @@ final class VideoPlayer {
   VideoPlayer(
       ExoPlayer exoPlayer,
       EventChannel eventChannel,
-      TextureRegistry.SurfaceTextureEntry textureEntry,
+      TextureRegistry.SurfaceProducer textureProducer,
       VideoPlayerOptions options,
       QueuingEventSink eventSink,
       DefaultHttpDataSource.Factory httpDataSourceFactory) {
     this.eventChannel = eventChannel;
-    this.textureEntry = textureEntry;
+    this.textureProducer = textureProducer;
     this.options = options;
     this.httpDataSourceFactory = httpDataSourceFactory;

@@ -186,7 +186,7 @@ final class VideoPlayer {
           }
         });

-    surface = new Surface(textureEntry.surfaceTexture());
+    surface = textureProducer.getSurface();
     exoPlayer.setVideoSurface(surface);
     setAudioAttributes(exoPlayer, options.mixWithOthers);

@@ -330,7 +330,7 @@ final class VideoPlayer {
     if (isInitialized) {
       exoPlayer.stop();
     }
-    textureEntry.release();
+    textureProducer.release();
     eventChannel.setStreamHandler(null);
     if (surface != null) {
       surface.release();
diff --git a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java
index c0c602793..41f48731d 100644
--- a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java
+++ b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java
@@ -119,11 +119,10 @@ public class VideoPlayerPlugin implements FlutterPlugin, AndroidVideoPlayerApi {
   }

   public @NonNull TextureMessage create(@NonNull CreateMessage arg) {
-    TextureRegistry.SurfaceTextureEntry handle =
-        flutterState.textureRegistry.createSurfaceTexture();
+    TextureRegistry.SurfaceProducer producer = flutterState.textureRegistry.createSurfaceProducer();
     EventChannel eventChannel =
         new EventChannel(
-            flutterState.binaryMessenger, "flutter.io/videoPlayer/videoEvents" + handle.id());
+            flutterState.binaryMessenger, "flutter.io/videoPlayer/videoEvents" + producer.id());

     VideoPlayer player;
     if (arg.getAsset() != null) {
@@ -138,7 +137,7 @@ public class VideoPlayerPlugin implements FlutterPlugin, AndroidVideoPlayerApi {
           new VideoPlayer(
               flutterState.applicationContext,
               eventChannel,
-              handle,
+              producer,
               "asset:///" + assetLookupKey,
               null,
               new HashMap<>(),
@@ -149,15 +148,15 @@ public class VideoPlayerPlugin implements FlutterPlugin, AndroidVideoPlayerApi {
           new VideoPlayer(
               flutterState.applicationContext,
               eventChannel,
-              handle,
+              producer,
               arg.getUri(),
               arg.getFormatHint(),
               httpHeaders,
               options);
     }
-    videoPlayers.put(handle.id(), player);
+    videoPlayers.put(producer.id(), player);

-    return new TextureMessage.Builder().setTextureId(handle.id()).build();
+    return new TextureMessage.Builder().setTextureId(producer.id()).build();
   }

   public void dispose(@NonNull TextureMessage arg) {

While I'm not currently focused on the HardwareBuffer/ImageReader code path, it crashes at HEAD:
E/flutter (17339): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(java.lang.IllegalArgumentException: The image dimensions must be positive, IllegalArgumentException, Cause: null, Stacktrace: java.lang.IllegalArgumentException: The image dimensions must be positive
E/flutter (17339):      at android.media.ImageReader.initializeImageReader(ImageReader.java:319)
E/flutter (17339):      at android.media.ImageReader.<init>(ImageReader.java:363)
E/flutter (17339):      at android.media.ImageReader.<init>(Unknown Source:0)
E/flutter (17339):      at android.media.ImageReader$Builder.build(ImageReader.java:1093)
E/flutter (17339):      at io.flutter.embedding.engine.renderer.FlutterRenderer$ImageReaderSurfaceProducer.createImageReader33(FlutterRenderer.java:658)
E/flutter (17339):      at io.flutter.embedding.engine.renderer.FlutterRenderer$ImageReaderSurfaceProducer.createImageReader(FlutterRenderer.java:678)
E/flutter (17339):      at io.flutter.embedding.engine.renderer.FlutterRenderer$ImageReaderSurfaceProducer.maybeCreateReader(FlutterRenderer.java:568)
E/flutter (17339):      at io.flutter.embedding.engine.renderer.FlutterRenderer$ImageReaderSurfaceProducer.getSurface(FlutterRenderer.java:519)
E/flutter (17339):      at io.flutter.plugins.videoplayer.VideoPlayer.setUpVideoPlayer(VideoPlayer.java:189)

I'm going to overlook this for the moment and focus on the surface-texture code path, but filing for posterity.
/cc @johnmccutchan

There is a trivial but not necessarily correct fix:
diff --git a/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java b/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java
index e6dacdf6fa1..c715e207559 100644
--- a/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java
+++ b/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java
@@ -416,8 +416,8 @@ public class FlutterRenderer implements TextureRegistry {
     private boolean released;
     private boolean ignoringFence = false;

-    private int requestedWidth = 0;
-    private int requestedHeight = 0;
+    private int requestedWidth = 1;
+    private int requestedHeight = 1;

The problem is creating an 0x0 ImageReader, and it looks like lifecycle wise we don't know the correct size of the texture until after creating one. Maybe that's something we can fix better though, I'll keep looking at it.
With the above patch, Skia + ImageReader passes. Impeller has a segfault:
E/goldfish_vulkan(19160): exportSyncFdForQSRILocked: Failed to dup() QSRI sync fd : sterror: Bad file descriptor errno: 9
E/ImageReaderSurfaceProducer(19160): acquireLatestImage image's fence was never signalled.
E/flutter (19160): [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure:
E/flutter (19160): --- Vulkan Debug Report  ----------------------------------------
E/flutter (19160): |                Severity: Error
E/flutter (19160): |                    Type: { Validation }
E/flutter (19160): |                 ID Name: VUID-VkImageCreateInfo-pNext-02397
E/flutter (19160): |               ID Number: -892915494
E/flutter (19160): |       Queue Breadcrumbs: [NONE]
E/flutter (19160): |  CMD Buffer Breadcrumbs: [NONE]
E/flutter (19160): |         Related Objects: Device [497961051392] [ImpellerDevice]
E/flutter (19160): |                 Trigger: Validation Error: [ VUID-VkImageCreateInfo-pNext-02397 ] Object 0: handle = 0x73f0caa500, name = ImpellerDevice, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xcac730da | vkCreateImage(): VkImageCreateInfo struct has a chained VkExternalFormatANDROID struct with non-zero externalFormat, but usage includes bits (0x84) other than VK_IMAGE_USAGE_SAMPLED_BIT. The Vulkan spec states: If the pNext chain includes a VkExternalFormatANDROID structure whose externalFormat member is not 0, usage must not include any usages except VK_IMAGE_USAGE_SAMPLED_BIT (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-02397)
E/flutter (19160): -----------------------------------------------------------------
E/flutter (19160): [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure:
E/flutter (19160): --- Vulkan Debug Report  ----------------------------------------
E/flutter (19160): |                Severity: Error
E/flutter (19160): |                    Type: { Validation }
E/flutter (19160): |                 ID Name: VUID-VkImageCreateInfo-pNext-00990
E/flutter (19160): |               ID Number: 1181525669
E/flutter (19160): |       Queue Breadcrumbs: [NONE]
E/flutter (19160): |  CMD Buffer Breadcrumbs: [NONE]
E/flutter (19160): |         Related Objects: Device [497961051392] [ImpellerDevice]
E/flutter (19160): |                 Trigger: Validation Error: [ VUID-VkImageCreateInfo-pNext-00990 ] Object 0: handle = 0x73f0caa500, name = ImpellerDevice, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x466ca6a5 | vkCreateImage(): The handle type (VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID), format (VK_FORMAT_UNDEFINED), type (VK_IMAGE_TYPE_2D), tiling (VK_IMAGE_TILING_OPTIMAL), usage (VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT), flags (VkImageCreateFlags(0)) is not supported combination of parameters and vkGetPhysicalDeviceImageFormatProperties2 returned back VK_ERROR_FORMAT_NOT_SUPPORTED. The Vulkan spec states: If the pNext chain includes a VkExternalMemoryImageCreateInfo structure, its handleTypes member must only contain bits that are also in VkExternalImageFormatProperties::externalMemoryProperties.compatibleHandleTypes, as returned by vkGetPhysicalDeviceImageFormatProperties2 with format, imageType, tiling, usage, and flags equal to those in this structure, and with a VkPhysicalDeviceExternalImageFormatInfo structure included in the pNext chain, with a handleType equal to any one of the handle types specified in VkExternalMemoryImageCreateInfo::handleTypes (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkImageCreateInfo-pNext-00990)
E/flutter (19160): -----------------------------------------------------------------
E/flutter (19160): [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure:
E/flutter (19160): --- Vulkan Debug Report  ----------------------------------------
E/flutter (19160): |                Severity: Error
E/flutter (19160): |                    Type: { Validation }
E/flutter (19160): |                 ID Name: VUID-vkAllocateMemory-pAllocateInfo-01714
E/flutter (19160): |               ID Number: -764142661
E/flutter (19160): |       Queue Breadcrumbs: [NONE]
E/flutter (19160): |  CMD Buffer Breadcrumbs: [NONE]
E/flutter (19160): |         Related Objects: Device [497961051392] [ImpellerDevice]
E/flutter (19160): |                 Trigger: Validation Error: [ VUID-vkAllocateMemory-pAllocateInfo-01714 ] Object 0: handle = 0x73f0caa500, name = ImpellerDevice, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xd2741bbb | vkAllocateMemory: attempting to allocate memory type 1, which is not a valid index. Device only advertises 1 memory types. The Vulkan spec states: pAllocateInfo->memoryTypeIndex must be less than VkPhysicalDeviceMemoryProperties::memoryTypeCount as returned by vkGetPhysicalDeviceMemoryProperties for the VkPhysicalDevice that device was created from (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkAllocateMemory-pAllocateInfo-01714)
E/flutter (19160): -----------------------------------------------------------------
E/flutter (19160): [ERROR:flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc(142)] vkAllocateMemory failed : -9
F/flutter (19160): [FATAL:flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc(194)] Check failed: IsValid().

@johnmccutchan Here are some reproduction instructions for you:

Navigate to packages/packages/video_player/video_player_android.
Apply the following patch:

diff --git a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
index 57fc1037c..f9557a494 100644
--- a/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
+++ b/packages/video_player/video_player_android/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
@@ -50,7 +50,7 @@ final class VideoPlayer {

   private Surface surface;

-  private final TextureRegistry.SurfaceTextureEntry textureEntry;
+  private final TextureRegistry.SurfaceProducer textureProducer;

   private QueuingEventSink eventSink;

@@ -67,13 +67,13 @@ final class VideoPlayer {
   VideoPlayer(
       Context context,
       EventChannel eventChannel,
-      TextureRegistry.SurfaceTextureEntry textureEntry,
+      TextureRegistry.SurfaceProducer textureProducer,
       String dataSource,
       String formatHint,
       @NonNull Map<String, String> httpHeaders,
       VideoPlayerOptions options) {
     this.eventChannel = eventChannel;
-    this.textureEntry = textureEntry;
+    this.textureProducer = textureProducer;
     this.options = options;

     ExoPlayer exoPlayer = new ExoPlayer.Builder(context).build();
@@ -96,12 +96,12 @@ final class VideoPlayer {
   VideoPlayer(
       ExoPlayer exoPlayer,
       EventChannel eventChannel,
-      TextureRegistry.SurfaceTextureEntry textureEntry,
+      TextureRegistry.SurfaceProducer textureProducer,
       VideoPlayerOptions options,
       QueuingEventSink eventSink,
       DefaultHttpDataSource.Factory httpDataSourceFactory) {
     this.eventChannel = eventChannel;
-    this.textureEntry = textureEntry;
+    this.textureProducer = textureProducer;
     this.options = options;
     this.httpDataSourceFactory = httpDataSourceFactory;

@@ -186,7 +186,7 @@ final class VideoPlayer {
           }
         });

-    surface = new Surface(textureEntry.surfaceTexture());
+    surface = textureProducer.getSurface();
     exoPlayer.setVideoSurface(surface);
     setAudioAttributes(exoPlayer, options.mixWithOthers);

@@ -330,7 +330,7 @@ final class VideoPlayer {
     if (isInitialized) {
       exoPlayer.stop();
     }
-    textureEntry.release();
+    textureProducer.release();
     eventChannel.setStreamHandler(null);
     if (surface != null) {
       surface.release();

Navigate to video_player_android/example
Run with a local engine:

$ flutter run \
  --local-engine-host=$ENGINE/out/host_debug_unopt_arm64 \
  --local-engine=$ENGINE/out/android_debug_unopt_arm64

Updating for posterity:
I took Matan's patch and started hacking on making this work with Vulkan. I only managed to create more validation check failures not fewer.
I got something to render (incorrectly) and not crash but we need to wire up support for https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_sampler_ycbcr_conversion.html to handle the video player format.

@bdero This is the Vulkan-specific bug around video player support for Impeller Android

Continuing our discussion starting from https://github.com/flutter/flutter/issues/141636#issuecomment-1932720229:

I'm confused We've had external texture support for Vulkan checked-in for months: See https://github.com/flutter/engine/blob/main/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h

@johnmccutchan Where are the spot(s) in the codebase where we're forming the DisplayList image for external textures and asking Impeller to render them? Or does it not work similarly to the OpenGL route in the Android embedder?
I figured this would be in the patch you mentioned when you said this in the other issue, but I might have that wrong:

I took Matan's patch and started hacking on making this work with Vulkan. I only managed to create more validation check failures not fewer.

Here is where we make DisplayList calls:
https://github.com/flutter/engine/blob/main/shell/platform/android/image_external_texture_vk.cc

The patch I'm talking about is above is for the video_player plugin and you can see it here
Applying that patch and following Matan's suggestions will lead to validation errors/crashes when run under Vulkan.

The patch I had to apply was slightly different. The original missed a file. But I see the errors now.

Scoped out what was necessary to get this over the finish line. I've summarized it below.

Frames from the video player are imported as Android Hardware Buffer texture sources.
These sources are in a YUV format that we don't currently understand and have difficulty binding to. By bind, I mean import a Android Hardware Buffer as a Vulkan image. AndroidHardwareBufferTextureSourceVK needs to be patched to support this. These textures are not from our own allocators.
Having these textures as Vulkan images is necessary but not sufficient since our shaders can't sample from them.
Samplers need information about the format of these (multi-planar) images as well as additional information about how to sample from them.
When Impeller attempts to sample from an AHB backed texture, we must create a special sampler for the shaders to use (vkCreateSamplerYcbcrConversion thats tacked onto the sampler-create-info). These variants must be stored in their respective sampler libraries for later reference.
In the shaders, the samplers look like regular sampler2Ds and the the YUV to RGB conversion happens appropriately.

The necessary utilities are in VK_KHR_sampler_ycbcr_conversion which is core in 1.1 behind a capability check.
Seems straightforward if tedious which I suppose is par for the course with Vulkan. Let me know if I've missed anything or if you have any additional context. Going to burn down this list next.

@chinmaygarde
This sounds correct to me.
I got as far as realizing we needed to wire up support for [VK_KHR_sampler_ycbcr_conversion](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_sampler_ycbcr_conversion.html) in AndroidHardwareBufferTextureSourceVK and then realized I was not the right person to be writing this code :)

These sources are in a YUV format that we don't currently understand and have difficulty binding to. By bind, I mean import a Android Hardware Buffer as a Vulkan image. AndroidHardwareBufferTextureSourceVK needs to be patched to support this. These textures are not from our own allocators.

Just to be clear AndroidHardwareBufferTextureSourceVK already suports importing Android Hardware Buffers as Vulkan images. It just doesn't handle the YUV format case correctly.

Thanks for taking this @chinmaygarde ! 🙇♂
One potentially easier stopgap route to unblock would be to do what we do for iOS and use the YUV->RGB filter when forming the DL image, but I haven't scoped it out: https://github.com/flutter/flutter/issues/141636#issuecomment-1928781004

authors: bdero chinmaygarde johnmccutchan matanlurey


text:
[macOS 15 beta] Multiple dart exec windows popup when running a dart command and more when running flutter app

Steps to reproduce
Execute a dart command or run a flutter app
Expected results
No dart exec windows popup
Actual results
Dart exec windows popup on my dock when running dart command and flutter app

Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.22.3, on macOS 15.0 24A5298h darwin-arm64, locale en-PH)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 2023.2)
[✓] VS Code (version 1.91.1)
[✓] Connected device (4 available)
    ! Error: Browsing on the local area network for Darrell’s iPad. Ensure the device is unlocked and attached with a cable or associated
      with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources

! Doctor found issues in 1 category.

Hi @darrcb, are you executing flutter commands from the default Terminal on macOS? If so, can you share the configuration on this screen? (Go to Terminal > Settings... > Profiles > Shell)

Also, does this occur on non-Flutter commands?

Hi @huycozy, it is not limited to dart/flutter commands executed from the terminal. Whenever I run a Flutter app from VSCode, multiple dart exec windows appear.
Here is the configuration for my terminal.

Additionally, when I right-click on the exec window, the menu looks like this.

Looks like you are on macOS 15 beta 4 (24A5298h). I don't have such a version to test right now. The issue doesn't happen on my machine with macOS 14.6.
Did the issue occur before you upgraded to this macOS version? (to confirm if this is an OS-specific issue or not)

This seems to happen on macOS 15.1 24B5009l after user updated to macOS15 beta (https://github.com/flutter/flutter/issues/152853). Labeling this for team's attention.

Yes @huycozy, I am currently on a beta of MacOS - 24B5009l. I did not experience this prior to the update.

Yes @huycozy, I am currently on a beta of MacOS - 24B5009l. I did not experience this prior to the update.

@cbracken mentioned "it might be that we should be adding an Info.plist with LSBackgroundOnly set to 1"

@cbracken mentioned "it might be that we should be adding an Info.plist with LSBackgroundOnly set to 1"

Add an Info.plist to what "app"? The tool?

Add an Info.plist to what "app"? The tool?

I'm guessing an Info.plist embedded in the dart and dartaotruntime etc executable.  However it was a stray comment, he didn't confirm this would fix the issue.
cc @aam is there already a dart issue tracking this?

@jmagman  wrote

cc @aam is there already a dart issue tracking this?

I don't think so.

Not sure how easy is to get beta on corp mac.

It's possible, I don't recommend it though for obvious reasons.  I suggest whoever is investigating it to expense a non-corp Mac.  Feel free to DM me for details about that.

Looks like dart's process name setting logic has this strange side effect starting with mac os 15.
https://dart-review.googlesource.com/c/sdk/+/379142 with the fix for now.
cc @rmacnak-google

Latest Sequoia beta was released yesterday (developer)/today (public). I'll update and see if I still see this. If it's still appearing though, we should probably file a Radar to at least see if this is expected.

As of Sequoia public beta 3 (24A5309e), I am no longer seeing this behaviour.

As of macOS 15 (Sequoia) public beta 3 (24A5309e), I am no longer seeing this behaviour.

You mean this should be closed because it's not happening on beta 3? Or it's not happening on top of https://dart-review.googlesource.com/c/sdk/+/379142 ?

You mean this should be closed because it's not happening on beta 3? Or it's not happening on top of https://dart-review.googlesource.com/c/sdk/+/379142 ?

The former. This is no longer happening at tip-of-tree with no patches applied.
Probably safe to close, though based on our experience with text field clipping last year, you never know if it'll need to be re-opened in a couple weeks when the next beta rolls out 😉.

There are currently no updates for Mac OS 15.1 beta. But yeah, will probably go away [or not] when the next beta comes out. 😄

Let us know if you still see it on the next 15.1 beta. I've kept my machine on the 15.0 public beta track for now. Since it's my primary personal machine I'm not sure I'm daring enough to switch it over to developer betas. 😅

You mean this should be closed because it's not happening on beta 3? Or it's not happening on top of https://dart-review.googlesource.com/c/sdk/+/379142 ?

The former. This is no longer happening at tip-of-tree with no patches applied.
Probably safe to close, though based on our experience with text field clipping last year, you never know if it'll need to be re-opened in a couple weeks when the next beta rolls out 😉.

Since https://dart-review.googlesource.com/c/sdk/+/379142 landed, are you sure it hadn't rolled to the framework commit you tried it on?

It's also being reverted: https://dart-review.googlesource.com/c/sdk/+/379340

It's also being reverted: https://dart-review.googlesource.com/c/sdk/+/379340

I know, I just wanted to verify that the reason this no longer appears on tip of tree is because the regression is not present in beta 3, rather than because that tip of tree commit happened to have had Alex's fix rolled in, and once the revert rolls this will have regressed again.

UPDATE: Updated to MacOS 15.1 Beta 2. The issue seems to be fixed now. No exec windows pop up when running flutter or dart. 👍🏽

source: gharchive/issue

authors: aam cbracken christopherfujino darrcb huycozy jmagman

repo: flutter/flutter

license_type: permissive

license_source: github-api


text:
Ability to manually resize columns by dragging separator

Use case
On the web, we often have users would ask if they could resize the columns of our DataTables like in Google Sheets.
There is a workaround using DataTable described here: https://www.technicalfeeder.com/2023/01/flutter-resize-table-column-by-dragging/
There are also packages that provide their own implementations of tables:

(commercial) https://pub.dev/packages/syncfusion_flutter_datagrid
(MIT) https://pub.dev/packages/pluto_grid

Proposal
It would be great if we could provide a callback to the DataColumn onResize which would have a signature similar to void Function(double width).
If this callback is provided, then the user would be able to resize this column by dragging the border on the right of the column. The callback would then be fired with the new width of the column so that it can be saved for when the user comes back to the page.

Related to https://github.com/flutter/flutter/issues/64768


text:
Flutter doctor - "NoSuchMethodError: The method 'run' was called on null."

'flutter doctor' worked correctly it suggested I update so then
I ran 'flutter upgrade' as well as updating my macos and xcode. Then ran xcode and which installed additional updates.
Karls-MBP-2:~ karllilley$ flutter doctor -v
[✓] Flutter (Channel beta, v0.2.3, on Mac OS X 10.13.4 17E199, locale en-US)
• Flutter version 0.2.3 at /Users/karllilley/flutter
• Framework revision 5a58b36e36 (3 weeks ago), 2018-03-13 13:20:13 -0700
• Engine revision e61bb9ac3a
• Dart version 2.0.0-dev.35.flutter-290c576264
Oops; flutter has exited unexpectedly.
Sending crash report to Google.
Crash report sent (report ID: 11ccd05f01dbb253)
Unhandled exception:
NoSuchMethodError: The method 'run' was called on null.
Receiver: null
Tried calling: run(Instance(length:2) of '_GrowableList', environment: null, workingDirectory: null)
#0      Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)
#1      runAsync (package:flutter_tools/src/base/process.dart:227)

#2      IOSWorkflow.macDevMode (package:flutter_tools/src/ios/ios_workflow.dart:45)

#3      IOSWorkflow.validate (package:flutter_tools/src/ios/ios_workflow.dart:90)

#4      Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:71)
#5      Doctor.diagnose (package:flutter_tools/src/doctor.dart:128)

#6      _doctorText. (package:flutter_tools/runner.dart:237)
#7      AppContext._run (package:flutter_tools/src/base/context.dart:76)

#8      AppContext.runInZone. (package:flutter_tools/src/base/context.dart:66)
#9      _rootRun (dart:async/zone.dart:1126)
#10     _CustomZone.run (dart:async/zone.dart:1023)
#11     runZoned (dart:async/zone.dart:1501)
#12     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#13     _doctorText (package:flutter_tools/runner.dart:237)

#14     _createLocalCrashReport (package:flutter_tools/runner.dart:212)

#15     _handleToolError (package:flutter_tools/runner.dart:167)

#16     run. (package:flutter_tools/runner.dart:94)

#17     AppContext._run (package:flutter_tools/src/base/context.dart:76)

#18     AppContext.runInZone. (package:flutter_tools/src/base/context.dart:66)
#19     _rootRun (dart:async/zone.dart:1126)
#20     _CustomZone.run (dart:async/zone.dart:1023)
#21     runZoned (dart:async/zone.dart:1501)
#22     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#23     run (package:flutter_tools/runner.dart:61)

#24     main (package:flutter_tools/executable.dart:48)

#25     main (file:///Users/karllilley/flutter/packages/flutter_tools/bin/flutter_tools.dart:16)
#26     _startIsolate. (dart:isolate-patch/dart:isolate/isolate_patch.dart:277)
#27     _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:165)

Duplicate of https://github.com/flutter/flutter/issues/15943

I downloaded the alpha build and that seemed to work instead.
git clone -b alpha https://github.com/flutter/flutter.git

I encountered the same problem in version 0.2.3, how did you solve it?Because my projects are based on 0.2.3。

@rongshuizhou 0.2.3 is quite old. Any reason why you are not upgrading to a newer Flutter version?

The project I am working on has been using 0.2.3, there is no official upgrade yet, and I plan to upgrade after releasing a version. But this problem I solved, is the problem of Android sdk, I reinstalled it again.

I hope this can help , I experienced this error when I edited the property package in the AndroidManifest.xml file
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.project01">

Its seems that when you change that part you get the error, so just return it to its original name in the meantime

authors: AngeloGiuseppe klilley rongshuizhou zoechi


text:
Text wrapping for really long words is weird.

 Issue by apwilson
Wednesday Sep 16, 2015 at 17:39 GMT
Originally opened as https://github.com/flutter/engine/issues/1190

If I have a super long line with no whitespace wrapping seems to make a new line for every character that doesn't fit on the last line.  Like this:
r
e
a
l
l
y
l
onglinethatneedstowrap

 Comment by afandria
Wednesday Sep 16, 2015 at 17:42 GMT

Agreed, I saw this too.

 Comment by apwilson
Tuesday Sep 22, 2015 at 00:06 GMT

The behaviour now seems to be to not wrap at all.

 Comment by turu
Tuesday Sep 22, 2015 at 15:53 GMT

See #1155 as well.

 Comment by apwilson
Monday Oct 12, 2015 at 21:59 GMT

This is still an issue.


text:
Logging that works after unplugging

I'm testing an app that involves moving with the app open to test a feature. Beyond using an emulator, what I've been doing is carrying both my laptop and my phone, with the phone plugged in, to do final testing on the feature.
A more convenient way to do this would be to be able to unplug the phone, the app under development just saves print calls until it gets plugged in again, at which point it dumps all of the prints that happened while unplugged into the console.
Alternatively I've seen that Android supports debugging over WiFi, didn't look into iOS, but this seems less than ideal because of all the issues that networking usually introduces into things that should be easy.

Closing this as you can already do this with platform tools as mentioned in the previous comment.

authors: goderbauer haydenflinner


text:
[plugins/firebase_auth] [plugins/cloud_firestore] custom claims not propagated on Android with user.getIdToken(refresh: true)

According to https://firebase.google.com/docs/auth/admin/custom-claims#propagate_custom_claims_to_the_client one can update the claims locally by calling currentUser.getIdToken(true).
In flutter I guess one should be able to do the same with:
final user = await FirebaseAuth.instance.currentUser();
await user.getIdToken(refresh: true);

Sadly this seems not reflected when I try to use firestore. After updating claims through a cloud function and then calling getIdToken as above it will still not have the claims correct in firestore rules. It returns "PERMISSION_DENIED". When I then close the app and reopen the app, firestore rules go through correctly though (seems like claims then get updated).
Additional problem is, that I can not see if the claims locally got updated or not because the API for that is not yet implemented (see separate issue #20238).
Now the issue is: How can force propagation of the claims in flutter? The way the documentation says seems not to be correct. Is this a bug in the documentation or a bug in the flutter client?
flutter: v0.8.2
cloud_firestore: 0.8.1
firebase_auth: 0.5.20
Edit
After further investigations it seems to only be happening on Android. On iOS the claims seem to be updated nicely (seems to work even without calling getIdToken() ). So this problem seems Android specific.

any update on this

Same problem.  The custom claims are extremely important for security questions.

Duplicate of #20238

@zoechi I don't this is a duplicate of #20238 . This issue talks about bug where custom claims are not getting updated when they are updated using firebase admin SDK. This seems to be the issue with native Firebase Android Auth SDK bug. Related SO question https://stackoverflow.com/questions/48042934/firebase-auth-custom-claims-not-propagating-to-client
#20238 talks about just accessing custom claims from flutter, which are already accessible using native SDKs with
user.getIdToken(false).addOnSuccessListener(new OnSuccessListener<GetTokenResult>() {
  @Override
  public void onSuccess(GetTokenResult result) {
    boolean isAdmin = result.getClaims().get("admin");
    if (isAdmin) {
      // Show admin UI.
      showAdminUI();
    } else {
      // Show regular user UI.
      showRegularUI();
    }
  }
});

getClaims() method is not available in flutter

Yes, even though I would like the API to be accessible. This issue has nothing to do with the API not being available in flutter. It has to do with Android not behaving as the documentation says. iOS on the other hand works correctly. It could probably be that this is actually a bug on android itself and not the flutter plugin.

I'm doing a RP for this.

@pboos
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/621. Any further collaboration will be done there.

authors: YamauchiEA hariprasadiit kroikie long1eu pboos vishant-jaiswal zoechi


text:
Content in CupertinoTabView covered by keyboard

Right now, CupertinoPageScaffold automatically accounts for the soft keyboard with its resizeToAvoidBottomInset property:
https://docs.flutter.io/flutter/cupertino/CupertinoPageScaffold/resizeToAvoidBottomInset.html
This is not the case for CupertinoTabView, which is causing the keyboard to overlap the ListView in our Cupertino sample's search screen:
https://github.com/flutter/samples/blob/master/veggieseasons/lib/screens/search.dart
Content at the bottom of the list is unaccessible when the keyboard is open.
Steps to Reproduce

Run the veggieseasons Cupertino samples from https://github.com/flutter/samples.
Navigate to the search screen.
Focus the keyboard, and attempt to scroll the list all the way up.

Flutter Doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.9.4, on Mac OS X 10.13.6 17G65, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
[✓] Android Studio (version 3.1)
[✓] IntelliJ IDEA Community Edition (version 2018.2.4)
[!] VS Code (version 1.24.1)
[✓] Connected devices (2 available)
! Doctor found issues in 1 category.

Hi @RedBrogdon,
Any current workaround this other than manually adding the bottom padding?
Cheers.

authors: RedBrogdon lifenautjoe


text:
Golden image failure when loading image asset

I have a set of widget tests using golden images that always fail on the first one, although the remaining are similar. Specifically, when the widget under test has load an image asset (AssetImage in my case).
Steps to Reproduce
Here's an example of the tests:
import 'dart:io';

import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart';

void main() {
  Widget testWidget(String asset) => MaterialApp(
        home: Scaffold(
          body: RepaintBoundary(
            child: Container(
              width: 200.0,
              height: 200.0,
              decoration: const BoxDecoration(
                image: DecorationImage(
                  image: AssetImage(
                    'assets/images/Check.png',
                  ),
                ),
              ),
            ),
          ),
        ),
      );

  testWidgets('test 1', (WidgetTester tester) async {
    await tester.pumpWidget(testWidget('assets/images/Check.png'));
    await expectLater(
      find.byType(Container),
      matchesGoldenFile('golden_images/test1.png'),
      skip: !Platform.isMacOS,
    );
  });

  testWidgets('test 2', (WidgetTester tester) async {
    await tester.pumpWidget(testWidget('assets/images/Check.png'));
    await expectLater(
      find.byType(Container),
      matchesGoldenFile('golden_images/test2.png'),
      skip: !Platform.isMacOS,
    );
  });

  testWidgets('test 3', (WidgetTester tester) async {
    await tester.pumpWidget(testWidget('assets/images/Check.png'));
    await expectLater(
      find.byType(Container),
      matchesGoldenFile('golden_images/test3.png'),
      skip: !Platform.isMacOS,
    );
  });
}

Logs
Command
flutter test --update-goldens test/golden_image_test.dart
00:03 +0: test 1
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following assertion was thrown running a test:
Unable to load asset: AssetManifest.json

When the exception was thrown, this was the stack:
#0      PlatformAssetBundle.load (package:flutter/src/services/asset_bundle.dart:221:7)
<asynchronous suspension>
#1      AssetBundle.loadString (package:flutter/src/services/asset_bundle.dart:67:33)
<asynchronous suspension>
#2      CachingAssetBundle.loadString (package:flutter/src/services/asset_bundle.dart:163:18)
#3      CachingAssetBundle.loadStructuredData (package:flutter/src/services/asset_bundle.dart:184:5)
#4      AssetImage.obtainKey (package:flutter/src/painting/image_resolution.dart:175:18)
#5      ImageProvider.resolve (package:flutter/src/painting/image_provider.dart:264:5)
#6      DecorationImagePainter.paint (package:flutter/src/painting/decoration_image.dart:239:55)
#7      _BoxDecorationPainter._paintBackgroundImage (package:flutter/src/painting/box_decoration.dart:413:19)
#8      _BoxDecorationPainter.paint (package:flutter/src/painting/box_decoration.dart:431:5)
#9      RenderDecoratedBox.paint (package:flutter/src/rendering/proxy_box.dart:1940:16)
#10     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#11     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#12     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#13     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#14     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#15     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#16     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#17     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:128:11)
#18     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:96:5)
#19     PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:188:7)
#20     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:169:7)
#21     _RenderCustomMultiChildLayoutBox&RenderBox&ContainerRenderObjectMixin&RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2267:15)
#22     RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:360:5)
#23     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#24     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#25     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#26     _RenderInkFeatures.paint (package:flutter/src/material/material.dart:472:11)
#27     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#28     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#29     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#30     PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:367:12)
#31     RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:1689:17)
#32     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#33     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#34     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#35     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#36     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#37     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#38     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#39     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:128:11)
#40     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:96:5)
#41     PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:188:7)
#42     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:169:7)
#43     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#44     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#45     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#46     RenderAnimatedOpacity.paint (package:flutter/src/rendering/proxy_box.dart:900:17)
#47     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#48     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#49     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#50     RenderFractionalTranslation.paint (package:flutter/src/rendering/proxy_box.dart:2420:13)
#51     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#52     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#53     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#54     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#55     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:128:11)
#56     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:96:5)
#57     PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:188:7)
#58     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:169:7)
#59     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#60     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#61     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#62     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#63     RenderOffstage.paint (package:flutter/src/rendering/proxy_box.dart:2897:11)
#64     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#65     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#66     _RenderStack&RenderBox&ContainerRenderObjectMixin&RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2267:15)
#67     RenderStack.paintStack (package:flutter/src/rendering/stack.dart:604:5)
#68     RenderStack.paint (package:flutter/src/rendering/stack.dart:612:7)
#69     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#70     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#71     __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#72     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#73     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#74     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#75     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#76     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#77     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#78     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#79     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#80     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#81     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#82     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#83     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#84     RenderCustomPaint.paint (package:flutter/src/rendering/custom_paint.dart:561:11)
#85     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#86     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#87     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:126:15)
#88     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#89     PaintingContext.paintChild (package:flutter/src/rendering/object.dart:171:13)
#90     RenderView.paint (package:flutter/src/rendering/view.dart:178:15)
#91     RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2085:7)
#92     PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:128:11)
#93     PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:96:5)
#94     PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:852:29)
#95     AutomatedTestWidgetsFlutterBinding.drawFrame (package:flutter_test/src/binding.dart:798:27)
#96     _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&GestureBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
#97     _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
#98     _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
#99     AutomatedTestWidgetsFlutterBinding.pump.<anonymous closure> (package:flutter_test/src/binding.dart:705:9)
#102    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:69:41)
#103    AutomatedTestWidgetsFlutterBinding.pump (package:flutter_test/src/binding.dart:692:27)
#104    WidgetTester.pumpWidget.<anonymous closure> (package:flutter_test/src/widget_tester.dart:227:22)
#107    TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:69:41)
#108    WidgetTester.pumpWidget (package:flutter_test/src/widget_tester.dart:224:27)
#109    main.<anonymous closure> (file:///Users/user/IdeaProjects/dachue/test/golden_image_test.dart:26:18)
#111    main.<anonymous closure> (file:///Users/user/IdeaProjects/dachue/test/golden_image_test.dart:25:25)
#112    testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:72:23)
#113    TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:556:19)
#127    AutomatedTestWidgetsFlutterBinding.runTest.<anonymous closure> (package:flutter_test/src/binding.dart:900:17)
#129    AutomatedTestWidgetsFlutterBinding.runTest.<anonymous closure> (package:flutter_test/src/binding.dart:888:35)
(elided 34 frames from class _FakeAsync, package dart:async, and package stack_trace)

The test description was:
test 1
════════════════════════════════════════════════════════════════════════════════════════════════════
00:03 +0 -1: test 1 [E]
  Test failed. See exception logs above.
  The test description was: test 1

00:03 +2 -1: Some tests failed.

Flutter analyze
flutter analyze
Analyzing dachue...
No issues found! (ran in 32.1s)

Flutter doctor
flutter doctor -v
[✓] Flutter (Channel unknown, v0.9.2, on Mac OS X 10.13.6 17G65, locale en-NL)
    • Flutter version 0.9.2 at /Users/user/IdeaProjects/dachue/flutter
    • Framework revision 85b4670b2a (5 weeks ago), 2018-09-19 14:59:23 -0700
    • Engine revision 2e8e96fad1
    • Dart version 2.1.0-dev.4.0.flutter-4eb879133a

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).
      If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.0, Build version 10A255
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.3

[✗] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2018.1.6)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 27.1.2
    • Dart plugin version 181.4892.1

[✓] Connected devices (1 available)
    • iPhone XS • 68C9BA47-3E93-41B9-96BD-AFA0F1F777A6 • ios • iOS 12.0 (simulator)

! Doctor found issues in 2 categories.

See
https://docs.flutter.io/flutter/widgets/DefaultAssetBundle-class.html
(and https://stackoverflow.com/questions/49480080/flutter-load-assets-for-tests)
Please consider asking support questions in one of the other channels listed at http://flutter.io/support .

@zoechi, thanks for the feedback.
I'll try it out.

This worked fine. I'm closing this issue.

@zoechi- What if I'm trying to test is not a widget. I need to test an api class which read a JSON file from the asset folder and it is not working in the test env. It's throwing the same asset not found error.

Hi @UnnikrishnanBhargavakurup - I have exactly the same problem, did you find any workaround to achieve that in the meanwhile?

authors: UnnikrishnanBhargavakurup miguelcmedeiros patreu22 zoechi


text:
local_auth:verifyReleaseResources build error - local_auth: ^0.3.0

Any assistance appreciated
flutter doctor --verbose
[✓] Flutter (Channel dev, v0.11.4, on Mac OS X 10.14.1 18B75, locale en-NZ)
    • Flutter version 0.11.4 at /Users/greg/Library/Developer/flutter
    • Framework revision df57dc9da9 (2 days ago), 2018-11-11 22:36:47 -0800
    • Engine revision 5646e86a6f
    • Dart version 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4)

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /Users/greg/Library/Android/sdk
    • Android NDK at /Users/greg/Library/Android/sdk/ndk-bundle
    • Platform android-28, build-tools 28.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_152-release-1136-b06)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 30.0.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] VS Code (version 1.29.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.20.0

[✓] Connected device (1 available)
    • SM G570Y • 42008566cef5540b • android-arm • Android 7.0 (API 24) (emulator)

flutter build apk --release
[  +98 ms] > Task :local_auth:verifyReleaseResources FAILED
[        ] 242 actionable tasks: 225 executed, 17 up-to-date
[  +78 ms] FAILURE: Build failed with an exception.
[   +1 ms] * What went wrong:
[        ] Execution failed for task ':local_auth:verifyReleaseResources'.
[        ] > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
[        ]   Output:  /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/merged/release/values/values.xml:194: error:
resource android:attr/fontVariationSettings not found.
[        ]   /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/merged/release/values/values.xml:195: error: resource
android:attr/ttcIndex not found.
[        ]   error: failed linking references.
[        ]   Command:
/Users/greg/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.1-4818971-osx.jar/201ebe2800a482d9086e83b5d969b211/aapt2-3.2.1-4818971-osx/aapt2 link -I\
[        ]           /Users/greg/Library/Android/sdk/platforms/android-27/android.jar\
[        ]           --manifest\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/aapt_friendly_merged_manifests/release/processReleaseManifest/aapt/AndroidM
anifest.xml\
[        ]           -o\
[        ]           /var/folders/df/t1l2f6j135v1r2qyp7h3s6dm0000gp/T/aapt-7717803265714166533-out\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_action_tombstone.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ur_values-ur.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_notification_icon_background.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-pa_values-pa.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-pt-rBR_values-pt-rBR.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-as_values-as.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-fi_values-fi.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-uk_values-uk.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_big_media_narrow_custom.x
ml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_part_time.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ka_values-ka.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-iw_values-iw.arsc.flat\
[  +19 ms]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-mdpi-v4_notify_panel_notification_icon_bg.png
.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-bs_values-bs.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_go_to_setting.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-mk_values-mk.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_notification_bg_low.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_fingerprint_success_icon.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-in_values-in.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-zu_values-zu.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-mr_values-mr.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-xhdpi-v4_notification_bg_low_normal.9.png.fla
t\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-hr_values-hr.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-en-rAU_values-en-rAU.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-sk_values-sk.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_action.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-v21_notification_action_background.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_ic_priority_high_white_24dp.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-th_values-th.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-sr_values-sr.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-km_values-km.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-af_values-af.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-pt_values-pt.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-es-rUS_values-es-rUS.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-fr-rCA_values-fr-rCA.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-gl_values-gl.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout-v21_notification_action_tombstone.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-gu_values-gu.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-kk_values-kk.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_media_custom.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-zh-rHK_values-zh-rHK.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-te_values-te.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_big_media_narrow.xml.flat
\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_media.xml.flat\
[  +19 ms]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ml_values-ml.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ky_values-ky.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ar_values-ar.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-xhdpi-v4_notify_panel_notification_icon_bg.pn
g.flat\
[        ]           -R\
[   +8 ms]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_lines_media.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-en-rIN_values-en-rIN.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-da_values-da.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_media_cancel_action.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-am_values-am.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ms_values-ms.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-zh-rTW_values-zh-rTW.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-en-rGB_values-en-rGB.arsc.flat\
[   +6 ms]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_media_action.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-hy_values-hy.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-zh-rCN_values-zh-rCN.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-nl_values-nl.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_part_chronometer.xml.flat
\
[  +19 ms]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ro_values-ro.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout-v21_notification_template_icon_group.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-my_values-my.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-lv_values-lv.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-pl_values-pl.arsc.flat\
[   +1 ms]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-lo_values-lo.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_big_media.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values_values.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-bg_values-bg.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-sl_values-sl.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-v21_values-v21.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-en-rCA_values-en-rCA.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-hu_values-hu.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-vi_values-vi.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-en-rXC_values-en-rXC.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ru_values-ru.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout-v21_notification_template_custom_big.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-hdpi-v4_notification_bg_normal.9.png.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-pt-rPT_values-pt-rPT.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-fr_values-fr.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-v24_values-v24.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-et_values-et.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-bn_values-bn.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ca_values-ca.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.fl
at\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-is_values-is.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.
flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-sv_values-sv.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-tl_values-tl.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_icon_group.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_ic_fingerprint_white_24dp.xml.flat\
[  +19 ms]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-fa_values-fa.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-uz_values-uz.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ko_values-ko.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-hdpi-v4_notify_panel_notification_icon_bg.png
.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-hi_values-hi.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_fingerprint_warning_icon.xml.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.
flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-b+sr+Latn_values-b+sr+Latn.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-xhdpi-v4_notification_bg_normal.9.png.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-si_values-si.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_scan_fp.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ne_values-ne.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-it_values-it.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-de_values-de.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout-v21_notification_action.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ta_values-ta.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-es_values-es.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout_notification_template_big_media_custom.xml.flat
\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_notification_bg.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-el_values-el.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-hdpi-v4_notification_bg_low_pressed.9.png.fla
t\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-mn_values-mn.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/layout-v16_notification_template_custom_big.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-eu_values-eu.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_notification_tile_bg.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-cs_values-cs.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-nb_values-nb.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat
\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-az_values-az.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-v16_values-v16.arsc.flat\
[   +1 ms]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_ic_done_white_24dp.xml.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-be_values-be.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-sw_values-sw.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-mdpi-v4_notification_bg_normal.9.png.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-tr_values-tr.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-mdpi-v4_notification_bg_low_pressed.9.png.fla
t\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable_fingerprint_initial_icon.xml.flat\
[  +19 ms]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-or_values-or.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-sq_values-sq.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-kn_values-kn.arsc.flat\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-lt_values-lt.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat
\
[        ]           -R\
[        ]           /Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/values-ja_values-ja.arsc.flat\
[        ]           -R\
[        ]
/Users/greg/Projects/Tierra/logmate_flutter/build/local_auth/intermediates/res/compiled/release/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png
.flat\
[        ]           --auto-add-overlay\
[        ]           --non-final-ids\
[        ]           -0\
[        ]           apk\
[        ]           --no-version-vectors
[        ]   Daemon:  AAPT2 aapt2-3.2.1-4818971-osx Daemon #0
[        ] * Try:
[        ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full
insights.
[        ] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 46s

Issue still exists. Any eta on fix possible?
flutter doctor --verbose

[✓] Flutter (Channel dev, v0.11.6, on Mac OS X 10.14.1 18B75, locale en-NZ)
• Flutter version 0.11.6 at /Users/greg/Library/Developer/flutter
• Framework revision d44aa57c12 (30 hours ago), 2018-11-14 11:09:56 -0800
• Engine revision 114d33d3ca
• Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
• Android SDK at /Users/greg/Library/Android/sdk
• Android NDK at /Users/greg/Library/Android/sdk/ndk-bundle
• Platform android-28, build-tools 28.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_152-release-1136-b06)
• All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.1, Build version 10B61
• ios-deploy 1.9.2
• CocoaPods version 1.5.3

[✓] Android Studio (version 3.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 30.0.1
• Dart plugin version 181.5656
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] VS Code (version 1.29.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 2.20.0

[✓] Connected device (2 available)
• SM G570Y • 42008566cef5540b                     • android-arm • Android 7.0 (API 24)
(emulator)
• iPhone X • EB7CC75F-A39F-4451-9A24-13B360FB0A30 • ios         • iOS 12.1 (simulator)

I have managed to resolve this issue by configuring the subprojects in build.gradle to use supportLibVersion 27.0.0
/project_root/android/build.gradle

...
ext {
compileSdkVersion   = 27
targetSdkVersion    = 27
buildToolsVersion   = "27.0.3"
supportLibVersion   = "27.0.0" // 28.0.0
playServicesVersion = "16.0.0"
}
...
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "${supportLibVersion}"
}
}
}
}


text:
Having issues running Flutter project since latest Flutter upgrade - Xcode 10.1

I am having trouble running my Flutter project since the latest upgrade to most recent Flutter. See below for flutter doctor, flutter doctor -v. I have tried making changes based on numerous Flutter issues to no avail.
Logs
Xcode's output:
↳
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
    cp: /Users/BlindFaith/New: No such file or directory
    cp: Imac: No such file or directory
    cp: Development/all-flutter-dart/flutter/bin/cache/artifacts/engine/ios/Flutter.framework: No such file or directory
    find: /Users/BlindFaith/New Imac Development/all-flutter-dart/flutter-projects/yofii-mobile-flutter/yofii-mobile/ios/Flutter/Flutter.framework: No such file or directory
    Project /Users/BlindFaith/New Imac Development/all-flutter-dart/flutter-projects/yofii-mobile-flutter/yofii-mobile built and packaged successfully.
    Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
    In file included from /Users/BlindFaith/New Imac Development/all-flutter-dart/flutter-projects/yofii-mobile-flutter/yofii-mobile/ios/Runner/GeneratedPluginRegistrant.m:5:
    /Users/BlindFaith/New Imac Development/all-flutter-dart/flutter-projects/yofii-mobile-flutter/yofii-mobile/ios/Runner/GeneratedPluginRegistrant.h:8:9: fatal error: 'Flutter/Flutter.h' file not found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.

Could not build the application for the simulator.
Error launching application on iPhone XR.                                                                                1.2s
Pauls-iMac:yofii-mobile BlindFaith$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v0.11.6, on Mac OS X 10.13.6 17G3025, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.1)
[✓] IntelliJ IDEA Community Edition (version 2018.2.5)
[✓] VS Code (version 1.29.1)
[✓] Connected device (2 available)

• No issues found!

Pauls-iMac:yofii-mobile BlindFaith$ flutter doctor -v
[✓] Flutter (Channel dev, v0.11.6, on Mac OS X 10.13.6 17G3025, locale en-US)
    • Flutter version 0.11.6 at /Users/BlindFaith/New Imac Development/all-flutter-dart/flutter
    • Framework revision d44aa57c12 (4 days ago), 2018-11-14 11:09:56 -0800
    • Engine revision 114d33d3ca
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /Users/BlindFaith/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.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_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode8/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 28.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] IntelliJ IDEA Community Edition (version 2018.2.5)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 29.1.3
    • Dart plugin version 182.4999

[✓] VS Code (version 1.29.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.20.0

[✓] Connected device (2 available)
    • Paul’s iPhone X • 20c22465a64055bf31c32bb03b7d2353abca2928 • ios • iOS 12.1
    • iPhone XR       • 1BE5F5FD-DEAC-4EE4-9F58-581C7B2F741C     • ios • iOS 12.1 (simulator)

• No issues found!
Pauls-iMac:yofii-mobile BlindFaith$

Merging with #23186

authors: PaulDeFilippi zoechi


text:
A room equivalent in Flutter

Google has released a Room library in its JetPack library. Please provide a equivalent version with database observing feature in flutter.

Would you mind posting a link to a description of that feature?

I think he mention this feature
https://developer.android.com/topic/libraries/architecture/room

Yeah, this, part of JetPack
https://developer.android.com/training/data-storage/room/
https://developer.android.com/topic/libraries/architecture/room

Related to #17433

This would be a WONDERFUL addition.
Room makes it easy to deal with sqlite databases, getting compile time checks for the SQL code and it's much easier to use than a  traditional ORM, since it gives you the power to manipulate the SQL as much as you want, still keeping it simple.
It generates all the code for you, while you only create interfaces, which abstract all the database access.
There are currently some pub packages for sqlite made by the community, but I think this kind of package should be done by Google, to ensure good performance, long term maintainability and security, since database caching is used by so many apps and are a crucial part of mobile development. Also, those packages don't give any of the advantages of Room.

In addition, if something is first party / flutter team/official it gives the feeling that more things come built in - from a marketing/persuading to upper management or new developers either way.

It also gives a sense that the project won't be abandoned overnight, having high quality and secure code.

Yes, we all want to see Flutter as a feature-full cross platform framework. But let's not forget that 1) The Flutter team has limited resources 2) Flutter is completely free and open source.
Of course, it would be great to have an official database package. However, to reduce the burden on Flutter developers I would suggest a tight collaboration with Realm team. Realm is a great open source database implementation and they already provide React Native integration.

Yes, but community engagement on a particular topic can make the Flutter team change focus, that's why engaging (specially liking) is encouraged.

I would love to see something like Room or CoreData in Flutter.

check this library it's called moor
https://pub.dev/packages/moor_flutter

Folks - have you checked this one?
https://pub.dev/packages/floor
https://github.com/vitusortner/floor

I think it's one of the most important packages ever.
WE NEED FLUENT SQLITE DATABASE ACCESS

The Flutter team doesn't have a near-term plan to develop this plugin, so I'm closing this. Please check out the other packages options that have been posted in this thread.

authors: 7uthaifah collinjackson dagema1 feinstein iamshubhamsaurav neiljaywarner ramamurthyk satjawat stanmots viratshukla zoechi


text:
[web]: Flutter build crashed

Steps to Reproduce

flutter create --web ./newweb && cd newweb
flutter run -d chrome

Logs
flutter run -d chrome -v
...
[   +4 ms] Succeeded after 4.3s with 0 outputs (0 actions)

[+7014 ms] "flutter run" took 19,155ms.
[        ] "flutter run" took 19,155ms.
Unable to connect to Chrome debug port: 43437
 type 'Utf8Decoder' is not a subtype of type 'StreamTransformer<Uint8List, String>' of 'streamTransformer'

#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      ChromeLauncher._connect (package:flutter_tools/src/web/chrome.dart:139:7)
<asynchronous suspension>
#2      ChromeLauncher.launch (package:flutter_tools/src/web/chrome.dart:120:12)
<asynchronous suspension>
#3      ResidentWebRunner.run (package:flutter_tools/src/resident_web_runner.dart:150:48)
<asynchronous suspension>
#4      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:469:37)
<asynchronous suspension>
#5      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:477:18)
<asynchronous suspension>
#6      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:383:33)
<asynchronous suspension>
#7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:29)
<asynchronous suspension>
#8      _rootRun (dart:async/zone.dart:1124:13)
#9      _CustomZone.run (dart:async/zone.dart:1021:19)
#10     _runZoned (dart:async/zone.dart:1516:10)
#11     runZoned (dart:async/zone.dart:1463:12)
#12     AppContext.run (package:flutter_tools/src/base/context.dart:152:18)
<asynchronous suspension>
#13     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:375:20)
#14     CommandRunner.runCommand (package:args/command_runner.dart:197:27)
<asynchronous suspension>
#15     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:396:21)
<asynchronous suspension>
#16     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:29)
<asynchronous suspension>
#17     _rootRun (dart:async/zone.dart:1124:13)
#18     _CustomZone.run (dart:async/zone.dart:1021:19)
#19     _runZoned (dart:async/zone.dart:1516:10)
#20     runZoned (dart:async/zone.dart:1463:12)
#21     AppContext.run (package:flutter_tools/src/base/context.dart:152:18)
<asynchronous suspension>
#22     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:356:19)
<asynchronous suspension>
#23     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#24     new Future.sync (dart:async/future.dart:224:31)
#25     CommandRunner.run (package:args/command_runner.dart:112:14)
#26     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:242:18)
#27     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:22)
<asynchronous suspension>
#28     _rootRun (dart:async/zone.dart:1124:13)
#29     _CustomZone.run (dart:async/zone.dart:1021:19)
#30     _runZoned (dart:async/zone.dart:1516:10)
#31     runZoned (dart:async/zone.dart:1500:12)
#32     run.<anonymous closure> (package:flutter_tools/runner.dart:60:18)
<asynchronous suspension>
#33     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:29)
<asynchronous suspension>
#34     _rootRun (dart:async/zone.dart:1124:13)
#35     _CustomZone.run (dart:async/zone.dart:1021:19)
#36     _runZoned (dart:async/zone.dart:1516:10)
#37     runZoned (dart:async/zone.dart:1463:12)
#38     AppContext.run (package:flutter_tools/src/base/context.dart:152:18)
<asynchronous suspension>
#39     runInContext (package:flutter_tools/src/context_runner.dart:56:24)
<asynchronous suspension>
#40     run (package:flutter_tools/runner.dart:51:10)
#41     main (package:flutter_tools/executable.dart:62:9)
<asynchronous suspension>
#42     main (file:///home/maxnemoy/libs/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#43     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#44     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

flutter doctor -v
[✓] Flutter (Channel master, v1.8.1-pre.10, on Linux, locale en_US.UTF-8)
    • Flutter version 1.8.1-pre.10 at /home/maxnemoy/libs/flutter
    • Framework revision 556e374e02 (56 minutes ago), 2019-07-02 17:40:55 -0700
    • Engine revision 7d3e722349
    • Dart version 2.5.0 (build 2.5.0-dev.0.0 67ab3be10d)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at /home/maxnemoy/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.0
    • Java binary at: /home/maxnemoy/progs/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b16-5323222)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang++ 6.0.0
    • GNU Make 4.1

[✓] Android Studio (version 3.4)
    • Android Studio at /home/maxnemoy/progs/android-studio
    • Flutter plugin version 36.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b16-5323222)

[✓] VS Code (version 1.35.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.2.0

[✓] Connected device (2 available)
    • Linux  • Linux  • linux-x64      • Linux
    • Chrome • chrome • web-javascript • Google Chrome 75.0.3770.100

• No issues found!

PS same problem for flutter_web

same problem for flutter

flutter channel dev @maxnemoy

Flutter 1.8.1-pre.20 -> solved the problem with webdev serve
Flutter 1.8.1-pre.22 -> solved the problem with flutter run -d chrome

same problem
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.8.1-pre.22, on Mac OS X 10.14.5 18F132, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
[✓] iOS tools - develop for iOS devices
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.4)
[✓] VS Code (version 1.36.0)
[✓] Connected device (3 available)
• No issues found!

This should be fixed on the latest master

Error: "The argument type 'Utf8Decoder' can't be assigned to the parameter type 'StreamTransformer<Uint8List, dynamic>'."
How to fix: Use StreamTransformer.bind(Stream) instead of Stream.transform(StreamTransformer).
Example:
Before: foo.transform(utf8.decoder)...
After: utf8.decoder.bind(foo)...

@githubjin To upgrade run flutter channel master and then flutter upgrade. If this still doesn't work, please paste the results of flutter doctor -v so I can see the exact commit you are on.

Same problem at ver.1.9, but I did not install Android part, will it lead to problems?

gradle version is not right  , open android project  and then  sync  downloading

authors: ACChe githubjin housed-cjy jonahwilliams maxnemoy