diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart index f3193af08ed..fd90ef3e5b1 100644 --- a/packages/flutter_tools/lib/src/commands/create.dart +++ b/packages/flutter_tools/lib/src/commands/create.dart @@ -1155,9 +1155,8 @@ String getIncompatibleJavaGradleAgpMessageHeader( return ''' The configured version of Java detected may conflict with the $incompatibleDependency version in your new Flutter $projectType. -To keep the default AGP version $incompatibleDependencyVersion, download a compatible Java version -(Java 17 <= $validJavaRangeMessage Java version < Java 21). Configure this Java version -globally for Flutter by running: +To keep the default $incompatibleDependencyVersion, download a compatible Java version +$validJavaRangeMessage. Configure this Java version globally for Flutter by running: flutter config --jdk-dir= '''; diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart index 55178c75041..d6c6864158c 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart @@ -4457,6 +4457,44 @@ void main() { overrides: {Java: () => null, Logger: () => logger}, ); + testUsingContext('should return correct warning for incompatible Gradle versions', () async { + const String projectType = 'app'; + final String gradleConflict = getIncompatibleJavaGradleAgpMessageHeader( + false, + templateDefaultGradleVersion, + templateAndroidGradlePluginVersion, + projectType, + ); + + expect( + gradleConflict, + contains(''' +The configured version of Java detected may conflict with the Gradle version in your new Flutter $projectType. + +To keep the default Gradle version $templateDefaultGradleVersion, download a compatible Java version +'''), + ); + }); + + testUsingContext('should return correct warning for incompatible AGP versions', () async { + const String projectType = 'app'; + final String agpConflict = getIncompatibleJavaGradleAgpMessageHeader( + true, + templateDefaultGradleVersion, + templateAndroidGradlePluginVersion, + projectType, + ); + + expect( + agpConflict, + contains(''' +The configured version of Java detected may conflict with the Android Gradle Plugin (AGP) version in your new Flutter $projectType. + +To keep the default AGP version $templateAndroidGradlePluginVersion, download a compatible Java version +'''), + ); + }); + testUsingContext( 'should not show warning for incompatible Java/template Gradle versions when created project type is irrelevant', () async {