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,
};