mirror of
https://github.com/flutter/flutter
synced 2024-09-19 08:11:56 +00:00
Ensure we have the Java binary on PATH when invoking avdmanager (#18908)
See https://github.com/flutter/flutter/issues/13379#issuecomment-400984667.
This commit is contained in:
parent
4a6558f88f
commit
266a720209
|
@ -466,6 +466,8 @@ class AndroidSdk {
|
|||
}
|
||||
|
||||
Map<String, String> _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<String, String> get sdkManagerEnv {
|
||||
if (_sdkManagerEnv == null) {
|
||||
// If we can locate Java, then add it to the path used to run the Android SDK manager.
|
||||
|
|
|
@ -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<String> availableIDs = runResult.stderr
|
||||
|
|
Loading…
Reference in a new issue