tree 627e9dd0ceca284b45011ad24c1555fb664d5bfe
parent 2230c0913abdca385e453efabc2bade031f1aa66
author Andrew Kolos <andrewrkolos@gmail.com> 1701904397 -0800
committer GitHub <noreply@github.com> 1701904397 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJlcQANCRBK7hj4Ov3rIwAAvUEIAGUqeHFYh5eERzPHULBhKMSx
 NX04sH0fE4pElYQA7Qw9t5NiLrNg1+SxH5pYsZjYgD7H7XBy92uXvGqtrJCWevvn
 GQHMBZjgjrqT/mcj/tHStGwNMHLUNsdjwkiZEk6IKBujckgwJW8AZp1U2WeOihVD
 736JGUtrpJAiClchljmRfVvVD5oGM3cKtky+/HcWZtvCoZXan5/3OdqbzbVhsRTB
 a9swVlUjgvIZMbkMaCiFr3YELBZ6iSCVGDtlD8DcSirGKySb9ZRiUQY1hDclRqSO
 1R7G7DGbiZ2l4LtULCG8Gg9DTOSPKk3y+D/ecYeBUgcQi+k/jXDG8GU8+GmRNp4=
 =RRKd
 -----END PGP SIGNATURE-----
 

have Java.version return null if `java --version` fails or cannot be run (#139614)

## Summary
Fixes https://github.com/flutter/flutter/issues/139180, where `flutter create` could crash if the `java` binary the tool found cannot be run.

## Context

At startup, the tool searches for a Java installation[^1]. Unless the located installation is from [an Android Studio installation](https://github.com/flutter/flutter/blob/e1967ecabf014bf93d1731fde6a6547b06ca9c33/packages/flutter_tools/lib/src/android/android_studio.dart#L163), the tool does not verify that the binary is runnable. For more, see https://github.com/flutter/flutter/issues/139613, which tracks this inconsistency in behavior. 

This means that in the scenario where

1) the user does not have Android Studio installed or the java binary found within cannot be run **and**
2) the user has a) `flutter config --jdk-dir` set, b) `JAVA_HOME` set in their environment, **or** c) `java` on their system path **and**
3) the java binary we think we found during cannot be run (or `java --version` fails), **then**

the user running `flutter create` with Android enabled will hit a tool crash.

## Change

`Java.version` should return null if version checking fails for any reason. [This is documented behavior](https://github.com/flutter/flutter/blob/48f57621ade657b0c20ba53d513de4c3cd563abd/packages/flutter_tools/lib/src/android/java.dart#L136). Therefore, we'll update the implementation to first verify that the binary is runnable. If it isn't, it will return `null`.

[^1]: We find java by calling the static `Java.find`, see: https://github.com/flutter/flutter/blob/48187028c11ca8ca10e0179705d25553e1fe2c14/packages/flutter_tools/lib/src/context_runner.dart#L271
[^2]: This PR doesn't change this, as this would be too dangerous to cherry-pick into stable.