diff --git a/build-tools/create-packs/Microsoft.NET.Sdk.Android.proj b/build-tools/create-packs/Microsoft.NET.Sdk.Android.proj index dc761f56110..823dcd4823e 100644 --- a/build-tools/create-packs/Microsoft.NET.Sdk.Android.proj +++ b/build-tools/create-packs/Microsoft.NET.Sdk.Android.proj @@ -36,12 +36,12 @@ about the various Microsoft.Android workloads. + Replacements="@WORKLOAD_VERSION@=$(WorkloadVersion);@NET_PREVIOUS_VERSION@=$(AndroidNetPreviousVersion);@NET8_PREVIOUS_VERSION@=$(AndroidNet8PreviousVersion)"> + Replacements="@NET_PREVIOUS_VERSION@=$(AndroidNetPreviousVersion);@NET8_PREVIOUS_VERSION@=$(AndroidNet8PreviousVersion)"> diff --git a/eng/Versions.props b/eng/Versions.props index d2294fc794a..e9e98021e0f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -15,6 +15,8 @@ 35.0.24 $(MicrosoftAndroidSdkWindowsPackageVersion) + + 34.0.147 diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json index 03d881a8008..0ee9fe4f021 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json @@ -6,6 +6,7 @@ "packs": [ "Microsoft.Android.Sdk.net10", "Microsoft.Android.Sdk.net9", + "Microsoft.Android.Sdk.net8", "Microsoft.Android.Ref.35", "Microsoft.Android.Runtime.Mono.35.android-arm", "Microsoft.Android.Runtime.Mono.35.android-arm64", @@ -15,6 +16,8 @@ ], "platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ], "extends" : [ + "microsoft-net-runtime-android-net8", + "microsoft-net-runtime-android-aot-net8", "microsoft-net-runtime-android-net9", "microsoft-net-runtime-android-aot-net9", "microsoft-net-runtime-android", @@ -61,6 +64,19 @@ "linux-arm64": "Microsoft.Android.Sdk.Linux" } }, + "Microsoft.Android.Sdk.net8": { + "kind": "sdk", + "version": "@NET8_PREVIOUS_VERSION@", + "alias-to": { + "osx-x64": "Microsoft.Android.Sdk.Darwin", + "osx-arm64": "Microsoft.Android.Sdk.Darwin", + "win-x86": "Microsoft.Android.Sdk.Windows", + "win-x64": "Microsoft.Android.Sdk.Windows", + "win-arm64": "Microsoft.Android.Sdk.Windows", + "linux-x64": "Microsoft.Android.Sdk.Linux", + "linux-arm64": "Microsoft.Android.Sdk.Linux" + } + }, "Microsoft.Android.Ref.35": { "kind": "framework", "version": "@WORKLOAD_VERSION@" diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets index a738a9c1e70..5eaec3dbada 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets @@ -4,8 +4,10 @@ Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '10.0')) " /> + + Condition=" $([MSBuild]::VersionLessThanOrEquals($(TargetFrameworkVersion), '7.0')) " /> @@ -16,7 +18,15 @@ /> - + + + + + diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs index c8d302467d3..20e919022ee 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs @@ -46,6 +46,11 @@ public void DotNetNew ([Values ("android", "androidlib", "android-bindinglib", " } static readonly object[] DotNetPackTargetFrameworks = new object[] { + new object[] { + "net8.0", + "android", + 34, + }, new object[] { "net9.0", "android", @@ -145,6 +150,11 @@ public String Say (String quote) { } static readonly object[] DotNetTargetFrameworks = new object[] { + new object[] { + "net8.0", + "android", + 34, + }, new object[] { "net9.0", "android", @@ -200,7 +210,7 @@ public void DotNetPublish ([Values (false, true)] bool isRelease, [ValueSource(n var apiLevel = (int)data[2]; //FIXME: will revisit this in a future PR - if (dotnetVersion == "net9.0") { + if (dotnetVersion != "net10.0") { Assert.Ignore ("error NETSDK1185: The Runtime Pack for FrameworkReference 'Microsoft.Android.Runtime.34.android-arm' was not available. This may be because DisableTransitiveFrameworkReferenceDownloads was set to true."); } diff --git a/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs b/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs index 2954bec5eae..df7e7d9241d 100644 --- a/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs +++ b/tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs @@ -897,10 +897,12 @@ public void CheckResouceIsOverridden () [Test] [Category ("WearOS")] - public void DotNetInstallAndRunPreviousSdk ([Values (false, true)] bool isRelease) + public void DotNetInstallAndRunPreviousSdk ( + [Values (false, true)] bool isRelease, + [Values ("net8.0-android", "net9.0-android")] string targetFramework) { var proj = new XamarinFormsAndroidApplicationProject () { - TargetFramework = "net9.0-android", + TargetFramework = targetFramework, IsRelease = isRelease, EnableDefaultItems = true, };