• Camille Simon's avatar
    [Android] Add Java/AGP/Gradle incompatibility warning to `flutter create` (#131444) · 594ff98a
    Camille Simon authored
    Adds warning to `flutter create` command that checks if detected Java version is compatible with the template AGP and template Gradle versions. If a developer is building for Android and their Java version is incompatible with either the AGP or Gradle versions that Flutter currently supports by default for new Flutter projects, then
    
    - a warning will show noting the incompatibility and
    - steps will be shown to fix the issue, the recommended option being to configure a new compatible Java version given that Flutter knows we can support the template Gradle/AGP versions and updating them manually may be risky (feedback on this approach would be greatly appreciated!)
    
    Given that the template AGP and Gradle versions are compatible, this PR assumes that the detected Java version may only conflict with one of the template AGP or Gradle versions because:
     - the minimum Java version for a given AGP version is less than the maximum Java version compatible for the minimum Gradle version required for that AGP version (too low a Java version will fail AGP compatibility test, but not Gradle compatibility).
    - the maximum Java version compatible with minimum Gradle version for a given AGP version is higher than minimum Java version required for that AGP version (too high a Java version will fail Gradle compatibility test, but not AGP compatibility test).
    
    Fixes https://github.com/flutter/flutter/issues/130515 in the sense that `flutter create foo`; `cd foo`; `flutter run` should always be successful.
    594ff98a
Name
Last commit
Last update
..
android Loading commit data...
base Loading commit data...
build_system Loading commit data...
commands Loading commit data...
custom_devices Loading commit data...
dart Loading commit data...
debug_adapters Loading commit data...
drive Loading commit data...
fuchsia Loading commit data...
intellij Loading commit data...
ios Loading commit data...
isolated Loading commit data...
linux Loading commit data...
localizations Loading commit data...
macos Loading commit data...
migrations Loading commit data...
proxied_devices Loading commit data...
reporting Loading commit data...
runner Loading commit data...
test Loading commit data...
tester Loading commit data...
vscode Loading commit data...
web Loading commit data...
windows Loading commit data...
application_package.dart Loading commit data...
artifacts.dart Loading commit data...
asset.dart Loading commit data...
build_info.dart Loading commit data...
bundle.dart Loading commit data...
bundle_builder.dart Loading commit data...
cache.dart Loading commit data...
cmake.dart Loading commit data...
cmake_project.dart Loading commit data...
compile.dart Loading commit data...
context_runner.dart Loading commit data...
convert.dart Loading commit data...
daemon.dart Loading commit data...
dart_pub_json_formatter.dart Loading commit data...
desktop_device.dart Loading commit data...
devfs.dart Loading commit data...
device.dart Loading commit data...
device_port_forwarder.dart Loading commit data...
devtools_launcher.dart Loading commit data...
doctor.dart Loading commit data...
doctor_validator.dart Loading commit data...
emulator.dart Loading commit data...
features.dart Loading commit data...
flutter_application_package.dart Loading commit data...
flutter_cache.dart Loading commit data...
flutter_device_manager.dart Loading commit data...
flutter_features.dart Loading commit data...
flutter_manifest.dart Loading commit data...
flutter_plugins.dart Loading commit data...
flutter_project_metadata.dart Loading commit data...
globals.dart Loading commit data...
html_utils.dart Loading commit data...
http_host_validator.dart Loading commit data...
license_collector.dart Loading commit data...
mdns_discovery.dart Loading commit data...
native_assets.dart Loading commit data...
persistent_tool_state.dart Loading commit data...
platform_plugins.dart Loading commit data...
plugins.dart Loading commit data...
pre_run_validator.dart Loading commit data...
preview_device.dart Loading commit data...
project.dart Loading commit data...
project_validator.dart Loading commit data...
project_validator_result.dart Loading commit data...
protocol_discovery.dart Loading commit data...
proxy_validator.dart Loading commit data...
resident_devtools_handler.dart Loading commit data...
resident_runner.dart Loading commit data...
run_cold.dart Loading commit data...
run_hot.dart Loading commit data...
sksl_writer.dart Loading commit data...
template.dart Loading commit data...
tracing.dart Loading commit data...
version.dart Loading commit data...
vmservice.dart Loading commit data...
xcode_project.dart Loading commit data...