diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidGradleProjectTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidGradleProjectTests.cs index 7ac1aeefb41..28eeecd4d57 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidGradleProjectTests.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/AndroidGradleProjectTests.cs @@ -582,10 +582,11 @@ public void TestFacebook () {{ static IEnumerable GetAgpGradleVersionTestData () { // AGP 8.5.0 with Gradle 8.7 - baseline, tests existing behavior - yield return new object[] { "8.5.0", "8.7" }; + // AGP 8.5.0 only supports up to compileSdk 34 + yield return new object[] { "8.5.0", "8.7", 34 }; // AGP 9.0.0 with Gradle 9.1.0 - tests the Gradle 9.x stricter Kotlin type checking fix // Note: Full version "9.1.0" is required for the download URL to work correctly - yield return new object[] { "9.0.0", "9.1.0" }; + yield return new object[] { "9.0.0", "9.1.0", XABuildConfig.AndroidDefaultTargetDotnetApiLevel.Major }; } /// @@ -595,9 +596,9 @@ static IEnumerable GetAgpGradleVersionTestData () /// [Test] [TestCaseSource (nameof (GetAgpGradleVersionTestData))] - public void BindLibraryWithMultipleGradleVersions (string agpVersion, string gradleVersion) + public void BindLibraryWithMultipleGradleVersions (string agpVersion, string gradleVersion, int compileSdk) { - var gradleProject = AndroidGradleProject.CreateDefault (GradleTestProjectDir, agpVersion, gradleVersion); + var gradleProject = AndroidGradleProject.CreateDefault (GradleTestProjectDir, agpVersion, gradleVersion, compileSdk: compileSdk); var gradleModule = gradleProject.Modules.First (); var moduleName = gradleModule.Name; diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleModule.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleModule.cs index 47fad254fa3..ac1d2f246b3 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleModule.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleModule.cs @@ -115,7 +115,7 @@ protected void onCreate(Bundle savedInstanceState) {{ }); AndroidManifestContent = $@" - + diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleProject.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleProject.cs index 8f1454bebdb..cefda07e799 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleProject.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/AndroidGradleProject.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.IO; +using Xamarin.Android.Tools; namespace Xamarin.ProjectTools { @@ -16,13 +17,13 @@ public class AndroidGradleProject /// /// Android Gradle Plugin version (e.g., "8.5.0", "9.0.0") /// - public string AgpVersion { get; set; } = "8.5.0"; + public string AgpVersion { get; set; } = "9.1.0"; /// /// Gradle wrapper version to use (e.g., "8.12", "9.0"). - /// If null or empty, the Gradle wrapper version generated by gradle init is used. + /// Defaults to "9.3.1" (minimum required by AGP 9.1.0). If set to null or empty, the Gradle wrapper version generated by gradle init is used. /// - public string? GradleVersion { get; set; } + public string? GradleVersion { get; set; } = "9.3.1"; GradleCLI gradleCLI = new GradleCLI (); @@ -76,7 +77,7 @@ public static AndroidGradleProject CreateDefault (string projectDir, bool isAppl /// /// Creates a default Gradle project with specified AGP and Gradle versions. /// - public static AndroidGradleProject CreateDefault (string projectDir, string agpVersion, string? gradleVersion, bool isApplication = false) + public static AndroidGradleProject CreateDefault (string projectDir, string agpVersion, string? gradleVersion, bool isApplication = false, int? compileSdk = null) { var proj = new AndroidGradleProject (projectDir) { AgpVersion = agpVersion, @@ -84,6 +85,7 @@ public static AndroidGradleProject CreateDefault (string projectDir, string agpV Modules = { new AndroidGradleModule (Path.Combine (projectDir, "TestModule")) { IsApplication = isApplication, + CompileSdk = compileSdk ?? XABuildConfig.AndroidDefaultTargetDotnetApiLevel.Major, }, }, };