diff --git a/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart b/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart index 10d1cd09ecf..e2ab35de109 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart @@ -314,8 +314,13 @@ class NativeAssets extends Target { ); final int targetAndroidNdkApi = int.parse(environment.defines[kMinSdkVersion] ?? minSdkVersion); + final String? environmentBuildMode = environment.defines[kBuildMode]; + if (environmentBuildMode == null) { + throw MissingDefineException(kBuildMode, name); + } + final BuildMode buildMode = BuildMode.fromCliName(environmentBuildMode); return buildNativeAssetsAndroid( - buildMode: BuildMode.debug, + buildMode: buildMode, projectUri: projectUri, yamlParentDirectory: environment.buildDir.uri, fileSystem: fileSystem, diff --git a/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart index 077a624abf3..ef4fc8cb08a 100644 --- a/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart @@ -187,7 +187,7 @@ void main() { await createPackageConfig(androidEnvironment); await fileSystem.file('libfoo.so').create(); - final NativeAssetsBuildRunner buildRunner = FakeNativeAssetsBuildRunner( + final FakeNativeAssetsBuildRunner buildRunner = FakeNativeAssetsBuildRunner( packagesWithNativeAssetsResult: [ Package('foo', androidEnvironment.buildDir.uri) ], @@ -207,6 +207,7 @@ void main() { ]), ); await NativeAssets(buildRunner: buildRunner).build(androidEnvironment); + expect(buildRunner.lastBuildMode, native_assets_cli.BuildMode.release); }, ); } diff --git a/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart b/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart index 8797becf0bb..27d6bce3148 100644 --- a/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart +++ b/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart @@ -36,6 +36,7 @@ class FakeNativeAssetsBuildRunner implements NativeAssetsBuildRunner { int dryRunInvocations = 0; int hasPackageConfigInvocations = 0; int packagesWithNativeAssetsInvocations = 0; + BuildMode? lastBuildMode; @override Future build({ @@ -49,6 +50,7 @@ class FakeNativeAssetsBuildRunner implements NativeAssetsBuildRunner { IOSSdk? targetIOSSdk, }) async { buildInvocations++; + lastBuildMode = buildMode; return buildResult; }