diff --git a/build-tools/scripts/Ndk.projitems.in b/build-tools/scripts/Ndk.projitems.in
index e767b8c460f..fbc98d84a4b 100644
--- a/build-tools/scripts/Ndk.projitems.in
+++ b/build-tools/scripts/Ndk.projitems.in
@@ -11,6 +11,8 @@
@NDK_X86_API_NET@
@NDK_X86_64_API@
@NDK_X86_64_API_NET@
+ @NDK_ARM64_V8A_API_NON_MONO@
+ @NDK_X86_64_API_NON_MONO@
@@ -30,6 +32,7 @@
Condition=" $(AndroidSupportedTargetJitAbisForConditionalChecks.Contains (':arm64-v8a:')) ">
$(AndroidNdkApiLevel_ArmV8a)
$(AndroidNdkApiLevel_Arm64)
+ $(AndroidNdkApiLevelNonMono_Arm64)
android-arm64
True
True
@@ -52,6 +55,7 @@
Condition=" $(AndroidSupportedTargetJitAbisForConditionalChecks.Contains (':x86_64:')) ">
$(AndroidNdkApiLevel_X86_64)
$(AndroidNdkApiLevel_X64)
+ $(AndroidNdkApiLevelNonMono_X64)
android-x64
True
True
diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs
index 332dc162de7..41f04b00258 100644
--- a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs
+++ b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs
@@ -255,6 +255,8 @@ GeneratedFile Get_Ndk_projitems (Context context)
{ "@NDK_X86_API_NET@", BuildAndroidPlatforms.NdkMinimumAPI.ToString () },
{ "@NDK_X86_64_API@", BuildAndroidPlatforms.NdkMinimumAPI.ToString () },
{ "@NDK_X86_64_API_NET@", BuildAndroidPlatforms.NdkMinimumAPI.ToString () },
+ { "@NDK_ARM64_V8A_API_NON_MONO@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI },
+ { "@NDK_X86_64_API_NON_MONO@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI },
};
return new GeneratedPlaceholdersFile (
diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets
index 8fcdee6c961..13f050da1b4 100644
--- a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets
+++ b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.NativeAOT.targets
@@ -66,13 +66,46 @@ This file contains the NativeAOT-specific MSBuild logic for .NET for Android.
<_NdkAbi Condition=" '$(RuntimeIdentifier)' == 'android-arm64' ">aarch64
<_NdkAbi Condition=" '$(RuntimeIdentifier)' == 'android-x64' ">x86_64
+ <_NDKApiLevel Condition=" '$(RuntimeIdentifier)' == 'android-arm64' ">$(AndroidNdkApiLevel_Arm64)
+ <_NDKApiLevel Condition=" '$(RuntimeIdentifier)' == 'android-x64' ">$(AndroidNdkAPiLevel_X64)
<_NdkSysrootAbi>$(_NdkAbi)-linux-android
<_NdkPrebuiltAbi Condition=" $([MSBuild]::IsOSPlatform('windows')) ">windows-x86_64
<_NdkPrebuiltAbi Condition=" $([MSBuild]::IsOSPlatform('osx')) ">darwin-x86_64
<_NdkPrebuiltAbi Condition=" $([MSBuild]::IsOSPlatform('linux')) ">linux-x86_64
+
+
+ <_NdkWrapperScriptExt Condition=" $([MSBuild]::IsOSPlatform('windows')) ">.cmd
<_NdkSysrootDir>$(_AndroidNdkDirectory)toolchains/llvm/prebuilt/$(_NdkPrebuiltAbi)/sysroot/usr/lib/$(_NdkSysrootAbi)/
<_NdkBinDir>$(_AndroidNdkDirectory)toolchains/llvm/prebuilt/$(_NdkPrebuiltAbi)/bin/
- clang++
+
+
+ $(_NdkAbi)-linux-android$(_NDKApiLevel)-clang$(_NdkWrapperScriptExt)
+ $(_NdkAbi)-linux-android$(_NDKApiLevel)-clang$(_NdkWrapperScriptExt)
llvm-objcopy
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
index bdd02019827..d748d54138d 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
@@ -150,8 +150,10 @@
<_XACommonPropsReplacement Include="@NDK_PKG_REVISION@=26.3.11579264" />
<_XACommonPropsReplacement Include="@NDK_ARM64_V8A_API@=$(AndroidNdkApiLevel_ArmV8a)" />
+ <_XACommonPropsReplacement Include="@NDK_ARM64_V8A_API_NON_MONO@=$(AndroidNdkApiLevelNonMono_Arm64)" />
<_XACommonPropsReplacement Include="@NDK_ARMEABI_V7_API@=$(AndroidNdkApiLevel_ArmV7a)" />
<_XACommonPropsReplacement Include="@NDK_X86_64_API@=$(AndroidNdkApiLevel_X86_64)" />
+ <_XACommonPropsReplacement Include="@NDK_X86_64_API_NON_MONO@=$(AndroidNdkApiLevelNonMono_X64)" />
<_XACommonPropsReplacement Include="@NDK_X86_API@=$(AndroidNdkApiLevel_X86)" />
<_XACommonPropsReplacement Include="@PACKAGE_VERSION_BUILD@=$(XAVersionCommitCount)" />
<_XACommonPropsReplacement Include="@PACKAGE_VERSION@=$(ProductVersion)" />
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in
index 559599e9ec9..02589ee9384 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.props.in
@@ -33,19 +33,28 @@
true
+
+ @NDK_ARM64_V8A_API_NON_MONO@
+ @NDK_X86_64_API_NON_MONO@
@NDK_ARMEABI_V7_API@
-
+
@NDK_ARM64_V8A_API@
+
+ @NDK_ARM64_V8A_API_NON_MONO@
+
@NDK_X86_API@
-
+
@NDK_X86_64_API@
+
+ @NDK_X86_64_API_NON_MONO@
+