diff --git a/packages/flutter_tools/lib/src/build_system/targets/assets.dart b/packages/flutter_tools/lib/src/build_system/targets/assets.dart index 5f458bd53e..7a6c59f98d 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/assets.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/assets.dart @@ -128,7 +128,11 @@ Future copyAssets( break; } if (doCopy) { - await (content.file as File).copy(file.path); + // Not using File.copy because it preserves permissions. + final sourceFile = content.file as File; + final destinationFile = file; + + await destinationFile.writeAsBytes(await sourceFile.readAsBytes(), flush: true); } } else { await file.writeAsBytes(await entry.value.contentsAsBytes());