Commit 06144a72 authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Fix crash when old Android Studio (<2.2.0) is installed (#9009)

Old Android Stuio versions pior to 2.2.0 didn't come with Java bundled. Make sure flutter doesn't crash when we try to determine the Java version of those old Android Studio installations.
parent 0739dcea
......@@ -282,14 +282,19 @@ class AndroidStudio implements Comparable<AndroidStudio> {
final String javaPath = platform.isMacOS ?
fs.path.join(directory, 'jre', 'jdk', 'Contents', 'Home') :
fs.path.join(directory, 'jre');
final ProcessResult result = processManager.runSync(<String>[fs.path.join(javaPath, 'bin', 'java'), '-version']);
final String javaExecutable = fs.path.join(javaPath, 'bin', 'java');
if (!processManager.canRun(javaExecutable)) {
_validationMessages.add('Unable to find bundled Java version.');
} else {
final ProcessResult result = processManager.runSync(<String>[javaExecutable, '-version']);
if (result.exitCode == 0) {
final List<String> versionLines = result.stderr.split('\n');
final String javaVersion = versionLines.length >= 2 ? versionLines[1] : versionLines[0];
_validationMessages.add('Java version: $javaVersion');
_javaPath = javaPath;
} else {
_validationMessages.add('Unable to find bundled Java version.');
_validationMessages.add('Unable to determine bundled Java version.');
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment