From 4736092d974c1de75616212f708c3789858fba42 Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Tue, 21 Apr 2026 17:17:28 +0200 Subject: [PATCH] Enable CoreCLR runtime pack for android-arm (armeabi-v7a) Enable the CoreCLR runtime flavor for the armeabi-v7a ABI, following the same pattern as android-arm64 and android-x64. Changes: - Set SupportCoreCLR=True for armeabi-v7a in Ndk.projitems.in - Add ApiLevelNonMono metadata and corresponding property/placeholder - Add Microsoft.Android.Runtime.CoreCLR.36.1.android-arm to workload manifest Depends on dotnet/runtime#127225 and dotnet/runtime#126838 (API level 24). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/scripts/Ndk.projitems.in | 4 +++- build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs | 1 + .../Microsoft.NET.Sdk.Android/WorkloadManifest.in.json | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/build-tools/scripts/Ndk.projitems.in b/build-tools/scripts/Ndk.projitems.in index fbc98d84a4b..e5c066b0c32 100644 --- a/build-tools/scripts/Ndk.projitems.in +++ b/build-tools/scripts/Ndk.projitems.in @@ -11,6 +11,7 @@ @NDK_X86_API_NET@ @NDK_X86_64_API@ @NDK_X86_64_API_NET@ + @NDK_ARMEABI_V7_API_NON_MONO@ @NDK_ARM64_V8A_API_NON_MONO@ @NDK_X86_64_API_NON_MONO@ @@ -21,9 +22,10 @@ Condition=" $(AndroidSupportedTargetJitAbisForConditionalChecks.Contains (':armeabi-v7a:')) "> $(AndroidNdkApiLevel_ArmV7a) $(AndroidNdkApiLevel_Arm) + $(AndroidNdkApiLevelNonMono_Arm) android-arm True - False + True False diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs index 3198bc73d29..c6c6ba4bba3 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs @@ -257,6 +257,7 @@ GeneratedFile Get_Ndk_projitems (Context context) { "@NDK_X86_64_API@", BuildAndroidPlatforms.NdkMinimumAPI.ToString () }, { "@NDK_X86_64_API_NET@", BuildAndroidPlatforms.NdkMinimumAPI.ToString () }, { "@NDK_ARM64_V8A_API_NON_MONO@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI }, + { "@NDK_ARMEABI_V7_API_NON_MONO@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI }, { "@NDK_X86_64_API_NON_MONO@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI }, }; 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 3d8b411c1fb..36714696245 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 @@ -12,6 +12,7 @@ "Microsoft.Android.Runtime.Mono.36.1.android-arm64", "Microsoft.Android.Runtime.Mono.36.1.android-x86", "Microsoft.Android.Runtime.Mono.36.1.android-x64", + "Microsoft.Android.Runtime.CoreCLR.36.1.android-arm", "Microsoft.Android.Runtime.CoreCLR.36.1.android-arm64", "Microsoft.Android.Runtime.CoreCLR.36.1.android-x64", "Microsoft.Android.Runtime.NativeAOT.36.1.android-arm64", @@ -86,6 +87,10 @@ "kind": "framework", "version": "@WORKLOAD_VERSION@" }, + "Microsoft.Android.Runtime.CoreCLR.36.1.android-arm": { + "kind": "framework", + "version": "@WORKLOAD_VERSION@" + }, "Microsoft.Android.Runtime.CoreCLR.36.1.android-arm64": { "kind": "framework", "version": "@WORKLOAD_VERSION@"