diff --git a/packages/flutter_tools/lib/src/android/android_sdk.dart b/packages/flutter_tools/lib/src/android/android_sdk.dart index 2dcc5bfed2d..d547cef2919 100644 --- a/packages/flutter_tools/lib/src/android/android_sdk.dart +++ b/packages/flutter_tools/lib/src/android/android_sdk.dart @@ -466,6 +466,8 @@ class AndroidSdk { } Map _sdkManagerEnv; + /// Returns an environment with the Java folder added to PATH for use in calling + /// Java-based Android SDK commands such as sdkmanager and avdmanager. Map get sdkManagerEnv { if (_sdkManagerEnv == null) { // If we can locate Java, then add it to the path used to run the Android SDK manager. diff --git a/packages/flutter_tools/lib/src/emulator.dart b/packages/flutter_tools/lib/src/emulator.dart index 5fa6b2ae216..472572c347f 100644 --- a/packages/flutter_tools/lib/src/emulator.dart +++ b/packages/flutter_tools/lib/src/emulator.dart @@ -114,7 +114,8 @@ class EmulatorManager { '-k', sdkId, '-d', device ]; - final ProcessResult runResult = processManager.runSync(args); + final ProcessResult runResult = processManager.runSync(args, + environment: androidSdk?.sdkManagerEnv); return new CreateEmulatorResult( name, success: runResult.exitCode == 0, @@ -134,7 +135,8 @@ class EmulatorManager { 'device', '-c' ]; - final ProcessResult runResult = processManager.runSync(args); + final ProcessResult runResult = processManager.runSync(args, + environment: androidSdk?.sdkManagerEnv); if (runResult.exitCode != 0) return null; @@ -159,7 +161,8 @@ class EmulatorManager { 'avd', '-n', 'temp', ]; - final ProcessResult runResult = processManager.runSync(args); + final ProcessResult runResult = processManager.runSync(args, + environment: androidSdk?.sdkManagerEnv); // Get the list of IDs that match our criteria final List availableIDs = runResult.stderr