Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions Configuration.props
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@
<_StandardLibraryPath Condition=" '$(TargetFrameworkVersion)' == '' ">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries('.NETFramework', 'v4.7.2', ''))</_StandardLibraryPath>
<TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' And '$(UsingMicrosoftNETSdk)' != 'true' And '$(_StandardLibraryPath)' != '' ">v4.7.2</TargetFrameworkVersion>
<TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' And '$(UsingMicrosoftNETSdk)' != 'true' ">v4.7.1</TargetFrameworkVersion>
<!-- The min API level supported by Microsoft.Android.Sdk. This applies to Mono-based runtimes,
both 32-bit and 64-bit. -->
<AndroidMinimumDotNetApiLevel Condition="'$(AndroidMinimumDotNetApiLevel)' == ''">21</AndroidMinimumDotNetApiLevel>
<!-- The min API level supported by non-Mono runtimes (CoreCLR/NativeAOT) -->
<AndroidMinimumNonMonoApiLevel Condition="'$(AndroidMinimumNonMonoApiLevel)' == ''">24</AndroidMinimumNonMonoApiLevel>
<!-- The min API level supported by Microsoft.Android.Sdk, for all runtimes (MonoVM, CoreCLR, NativeAOT).
Must match $(AndroidApiLevelMin) in dotnet/runtime's Directory.Build.props. -->
<AndroidMinimumDotNetApiLevel Condition="'$(AndroidMinimumDotNetApiLevel)' == ''">24</AndroidMinimumDotNetApiLevel>
<!-- *Latest* *stable* API level binding that we support; used when building src/Xamarin.Android.Build.Tasks -->
<AndroidLatestStableApiLevel Condition="'$(AndroidLatestStableApiLevel)' == ''">37</AndroidLatestStableApiLevel>
<AndroidLatestStablePlatformId Condition="'$(AndroidLatestStablePlatformId)' == ''">37.0</AndroidLatestStablePlatformId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,11 @@ public class GenerateSupportedPlatforms : Task
/// </summary>
public string? TargetApiLevel { get; set; }

/// <summary>
/// Minimum API level supported by non-Mono runtimes (CoreCLR/NativeAOT).
/// API levels below this will be conditional on $(UseMonoRuntime) == 'true'.
/// </summary>
public string? MinimumNonMonoApiLevel { get; set; }

public override bool Execute ()
{

var minVersion = ToVersion (MinimumApiLevel);
var targetVersion = ToVersion (TargetApiLevel);
var minNonMonoVersion = ToVersion (MinimumNonMonoApiLevel);
var versions = new AndroidVersions (AndroidApiInfo.Select (ToAndroidVersion));
var targetApiLevel = targetVersion != null && targetVersion.Major > 0
? targetVersion
Expand Down Expand Up @@ -98,9 +91,6 @@ public override bool Execute ()
if (versionCode < targetVersion) {
writer.WriteAttributeString ("DefineConstantsOnly", "true");
}
if (minNonMonoVersion != null && versionCode < minNonMonoVersion) {
writer.WriteAttributeString ("Condition", " '$(UseMonoRuntime)' == 'true' ");
}
writer.WriteEndElement (); // </AndroidSdkSupportedTargetPlatformVersion>
}
writer.WriteStartElement ("SdkSupportedTargetPlatformVersion");
Expand Down
38 changes: 15 additions & 23 deletions build-tools/create-packs/Microsoft.Android.Runtime.proj
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,6 @@ projects that use the Microsoft.Android.Runtimes framework in .NET 6+.
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libxamarin-startup-debug.a') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libxamarin-startup-debug.a" />
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libxamarin-startup-release.a') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libxamarin-startup-release.a" />

<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\crtbegin_so.o" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\crtend_so.o" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libc++_static.a" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libc++abi.a" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libclang_rt.builtins-$(_ClangArch)-android.a" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libunwind.a" />
</ItemGroup>

<ItemGroup Condition=" '$(AndroidRuntime)' == 'Mono' ">
Expand All @@ -96,36 +90,34 @@ projects that use the Microsoft.Android.Runtimes framework in .NET 6+.
</ItemGroup>

<ItemGroup Condition=" '$(AndroidRuntime)' != 'NativeAOT' ">
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libarchive-dso-stub.so') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libarchive-dso-stub.so" />
</ItemGroup>

<!-- System lib stubs from the common redist directory, needed by all runtimes -->
<ItemGroup>
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libc.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libdl.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\liblog.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libm.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libz.so" />
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libarchive-dso-stub.so') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libarchive-dso-stub.so" />
</ItemGroup>

<ItemGroup Condition=" '$(AndroidRuntime)' == 'NativeAOT' ">
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.debug-static-debug.a') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.debug-static-debug.a" />
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.release-static-release.a') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.release-static-release.a" />
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETOutputRoot)$(AndroidLatestStableApiLevel)\Microsoft.Android.Runtime.NativeAOT.dll" />

<!-- NativeAOT uses a separate redist directory with system lib stubs and CRT objects
at the higher API level required by dotnet/runtime's native libraries (API 24). -->
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)redist-nativeaot\$(AndroidRID)\crtbegin_so.o" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)redist-nativeaot\$(AndroidRID)\crtend_so.o" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)redist-nativeaot\$(AndroidRID)\libc.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)redist-nativeaot\$(AndroidRID)\libdl.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)redist-nativeaot\$(AndroidRID)\liblog.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)redist-nativeaot\$(AndroidRID)\libm.so" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)redist-nativeaot\$(AndroidRID)\libz.so" />

<!-- Toolchain libraries (API-level-agnostic, from common redist) -->
<!-- Toolchain libraries shared by CoreCLR and NativeAOT (both do native linking) -->
<ItemGroup Condition=" '$(AndroidRuntime)' == 'CoreCLR' Or '$(AndroidRuntime)' == 'NativeAOT' ">
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\crtbegin_so.o" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\crtend_so.o" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libc++_static.a" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libc++abi.a" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libclang_rt.builtins-$(_ClangArch)-android.a" />
<NativeRuntimeAsset Include="$(NativeRuntimeOutputRootDir)$(_RuntimeRedistDirName)\$(AndroidRID)\libunwind.a" />
</ItemGroup>

<ItemGroup Condition=" '$(AndroidRuntime)' == 'NativeAOT' ">
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.debug-static-debug.a') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.debug-static-debug.a" />
<NativeRuntimeAsset Condition=" Exists('$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.release-static-release.a') " Include="$(NativeRuntimeOutputRootDir)$(_RuntimeFlavorDirName)\$(AndroidRID)\libnaot-android.release-static-release.a" />
<_AndroidRuntimePackAssemblies Include="$(_MonoAndroidNETOutputRoot)$(AndroidLatestStableApiLevel)\Microsoft.Android.Runtime.NativeAOT.dll" />
</ItemGroup>

<ItemGroup>
<FrameworkListFileClass Include="@(_AndroidRuntimePackAssemblies->'%(Filename)%(Extension)')" Profile="Android" />
<FrameworkListFileClass Include="@(NativeRuntimeAsset->'%(Filename)%(Extension)')" Profile="Android" />
Expand Down
4 changes: 0 additions & 4 deletions build-tools/scripts/Ndk.projitems.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
<AndroidNdkApiLevel_X86 Condition=" '$(AndroidNdkApiLevel_X86)' == '' ">@NDK_X86_API_NET@</AndroidNdkApiLevel_X86>
<AndroidNdkApiLevel_X86_64 Condition=" '$(AndroidNdkApiLevel_X86_64)' == '' ">@NDK_X86_64_API@</AndroidNdkApiLevel_X86_64>
<AndroidNdkApiLevel_X64 Condition=" '$(AndroidNdkApiLevel_X64)' == '' ">@NDK_X86_64_API_NET@</AndroidNdkApiLevel_X64>
<AndroidNdkApiLevelNonMono_Arm64 Condition=" '$(AndroidNdkApiLevelNonMono_Arm64)' == '' ">@NDK_ARM64_V8A_API_NON_MONO@</AndroidNdkApiLevelNonMono_Arm64>
<AndroidNdkApiLevelNonMono_X64 Condition=" '$(AndroidNdkApiLevelNonMono_X64)' == '' ">@NDK_X86_64_API_NON_MONO@</AndroidNdkApiLevelNonMono_X64>
</PropertyGroup>

<ItemGroup>
Expand All @@ -32,7 +30,6 @@
Condition=" $(AndroidSupportedTargetJitAbisForConditionalChecks.Contains (':arm64-v8a:')) ">
<ApiLevel>$(AndroidNdkApiLevel_ArmV8a)</ApiLevel>
<ApiLevelNET>$(AndroidNdkApiLevel_Arm64)</ApiLevelNET>
<ApiLevelNonMono>$(AndroidNdkApiLevelNonMono_Arm64)</ApiLevelNonMono>
<AndroidRID>android-arm64</AndroidRID>
<SupportMonoVM>True</SupportMonoVM>
<SupportCoreCLR>True</SupportCoreCLR>
Expand All @@ -55,7 +52,6 @@
Condition=" $(AndroidSupportedTargetJitAbisForConditionalChecks.Contains (':x86_64:')) ">
<ApiLevel>$(AndroidNdkApiLevel_X86_64)</ApiLevel>
<ApiLevelNET>$(AndroidNdkApiLevel_X64)</ApiLevelNET>
<ApiLevelNonMono>$(AndroidNdkApiLevelNonMono_X64)</ApiLevelNonMono>
<AndroidRID>android-x64</AndroidRID>
<SupportMonoVM>True</SupportMonoVM>
<SupportCoreCLR>True</SupportCoreCLR>
Expand Down
6 changes: 0 additions & 6 deletions build-tools/scripts/XABuildConfig.cs.in
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ namespace Xamarin.Android.Tools
public const string XamarinAndroidBranch = "@XAMARIN_ANDROID_BRANCH@";
public const string AndroidSdkBuildToolsVersion = "@SDK_BUILD_TOOLS_VERSION@";
public static readonly Version AndroidMinimumDotNetApiLevel = new Version (@ANDROID_DEFAULT_MINIMUM_DOTNET_API_LEVEL@, @ANDROID_DEFAULT_MINIMUM_DOTNET_API_LEVEL_MINOR@);
public static readonly Version AndroidMinimumNonMonoApiLevel = new Version (@ANDROID_DEFAULT_MINIMUM_NONMONO_API_LEVEL@, @ANDROID_DEFAULT_MINIMUM_NONMONO_API_LEVEL_MINOR@);
public static readonly Version AndroidLatestStableApiLevel = new Version (@ANDROID_LATEST_STABLE_API_LEVEL@, @ANDROID_LATEST_STABLE_API_LEVEL_MINOR@);
public static readonly Version AndroidLatestUnstableApiLevel = new Version (@ANDROID_LATEST_UNSTABLE_API_LEVEL@, @ANDROID_LATEST_UNSTABLE_API_LEVEL_MINOR@);
public static readonly Version AndroidDefaultTargetDotnetApiLevel = new Version (@ANDROID_DEFAULT_TARGET_DOTNET_API_LEVEL@, @ANDROID_DEFAULT_TARGET_DOTNET_API_LEVEL_MINOR@);
Expand All @@ -37,10 +36,5 @@ namespace Xamarin.Android.Tools
{ AndroidTargetArch.X86, @NDK_X86_API@ },
{ AndroidTargetArch.X86_64, @NDK_X86_64_API@ },
};

public static readonly Dictionary <AndroidTargetArch, int> ArchToApiLevelNonMono = new () {
{ AndroidTargetArch.Arm64, @NDK_ARM64_V8A_NONMONO_API@ },
{ AndroidTargetArch.X86_64, @NDK_X86_64_NONMONO_API@ },
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ static class KnownProperties
public const string AndroidCmakeVersion = "AndroidCmakeVersion";
public const string AndroidCmakeVersionPath = "AndroidCmakeVersionPath";
public const string AndroidMinimumDotNetApiLevel = "AndroidMinimumDotNetApiLevel";
public const string AndroidMinimumNonMonoApiLevel = "AndroidMinimumNonMonoApiLevel";
public const string AndroidDefaultTargetDotnetApiLevel = "AndroidDefaultTargetDotnetApiLevel";
public const string AndroidLatestStableApiLevel = "AndroidLatestStableApiLevel";
public const string AndroidLatestUnstableApiLevel = "AndroidLatestUnstableApiLevel";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ namespace Xamarin.Android.Prepare
properties.Add (KnownProperties.AndroidCmakeVersion, StripQuotes ("@AndroidCmakeVersion@"));
properties.Add (KnownProperties.AndroidCmakeVersionPath, StripQuotes (@"@AndroidCmakeVersionPath@"));
properties.Add (KnownProperties.AndroidMinimumDotNetApiLevel, StripQuotes ("@AndroidMinimumDotNetApiLevel@"));
properties.Add (KnownProperties.AndroidMinimumNonMonoApiLevel, StripQuotes ("@AndroidMinimumNonMonoApiLevel@"));
properties.Add (KnownProperties.AndroidDefaultTargetDotnetApiLevel, StripQuotes ("@AndroidDefaultTargetDotnetApiLevel@"));
properties.Add (KnownProperties.AndroidLatestStableApiLevel, StripQuotes ("@AndroidLatestStableApiLevel@"));
properties.Add (KnownProperties.AndroidLatestUnstableApiLevel, StripQuotes ("@AndroidLatestUnstableApiLevel@"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ class BuildAndroidPlatforms

public static string NdkMinimumAPI => Context.Instance.Properties.GetRequiredValue (KnownProperties.AndroidMinimumDotNetApiLevel);
public static string NdkMinimumAPILegacy32 => NdkMinimumAPI;
public static string NdkMinimumNonMonoAPI => Context.Instance.Properties.GetRequiredValue (KnownProperties.AndroidMinimumNonMonoApiLevel);

public static readonly List<AndroidPlatform> AllPlatforms = new List<AndroidPlatform> {
new AndroidPlatform (apiName: "", apiLevel: 1, platformID: "1"),
Expand Down
14 changes: 2 additions & 12 deletions build-tools/xaprepare/xaprepare/Steps/Step_Android_SDK_NDK.cs
Original file line number Diff line number Diff line change
Expand Up @@ -229,27 +229,17 @@ bool CopyRedistributableFiles (Context context)
foreach (string file in ClangArchFiles) {
CopyFile (abi, clangArchLibPath, file);
}

// NativeAOT links against dotnet/runtime's libSystem.Native.a which was
// compiled targeting a higher API level. Copy a second set of CRT/system
// lib stubs from the higher API level sysroot for the NativeAOT runtime pack.
if (Configurables.Defaults.NativeAotSupportedAbis.Contains (abi)) {
string nativeAotCrtFilesPath = Path.Combine (abiDir, BuildAndroidPlatforms.NdkMinimumNonMonoAPI);
foreach (string file in CRTFiles) {
CopyFile (abi, nativeAotCrtFilesPath, file, redistDirName: "redist-nativeaot");
}
}
}

return true;

void CopyFile (string abi, string sourceDir, string fileName, string? redistDirName = null)
void CopyFile (string abi, string sourceDir, string fileName)
{
Log.StatusLine ($" {context.Characters.Bullet} Copying NDK redistributable: ", $"{fileName} ({abi})", tailColor: ConsoleColor.White);
string rid = Configurables.Defaults.AbiToRID [abi];
string outputDir = Path.Combine (
context.Properties.GetRequiredValue (KnownProperties.NativeRuntimeOutputRootDir),
redistDirName ?? context.Properties.GetRequiredValue (KnownProperties.RuntimeRedistDirName),
context.Properties.GetRequiredValue (KnownProperties.RuntimeRedistDirName),
rid
);

Expand Down
8 changes: 0 additions & 8 deletions build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,6 @@ GeneratedFile GetCmakePresetsCommon (Context context, string sourcesDir)
{ "@NDK_ARM64_V8A_API_NET@", BuildAndroidPlatforms.NdkMinimumAPI },
{ "@NDK_X86_API_NET@", BuildAndroidPlatforms.NdkMinimumAPILegacy32 },
{ "@NDK_X86_64_API_NET@", BuildAndroidPlatforms.NdkMinimumAPI },
{ "@NDK_ARM64_V8A_NONMONO_API_NET@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI },
{ "@NDK_X86_64_NONMONO_API_NET@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI },
{ "@XA_BUILD_CONFIGURATION@", context.Configuration },
{ "@XA_TEST_OUTPUT_DIR@", Utilities.EscapePathSeparators (props.GetRequiredValue (KnownProperties.TestOutputDirectory)) },
};
Expand Down Expand Up @@ -197,14 +195,10 @@ GeneratedFile Get_XABuildConfig_cs (Context context)
{ "@NDK_ARM64_V8A_API@", BuildAndroidPlatforms.NdkMinimumAPI.ToString () },
{ "@NDK_X86_API@", BuildAndroidPlatforms.NdkMinimumAPILegacy32.ToString ().ToString () },
{ "@NDK_X86_64_API@", BuildAndroidPlatforms.NdkMinimumAPI.ToString ().ToString () },
{ "@NDK_ARM64_V8A_NONMONO_API@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI },
{ "@NDK_X86_64_NONMONO_API@", BuildAndroidPlatforms.NdkMinimumNonMonoAPI },
{ "@XA_SUPPORTED_ABIS@", context.Properties.GetRequiredValue (KnownProperties.AndroidSupportedTargetJitAbis).Replace (':', ';') },
{ "@SDK_BUILD_TOOLS_VERSION@", context.Properties.GetRequiredValue (KnownProperties.XABuildToolsFolder) },
{ "@ANDROID_DEFAULT_MINIMUM_DOTNET_API_LEVEL@", GetMajor (context.Properties.GetRequiredValue (KnownProperties.AndroidMinimumDotNetApiLevel)) },
{ "@ANDROID_DEFAULT_MINIMUM_DOTNET_API_LEVEL_MINOR@", GetMinor (context.Properties.GetRequiredValue (KnownProperties.AndroidMinimumDotNetApiLevel)) },
{ "@ANDROID_DEFAULT_MINIMUM_NONMONO_API_LEVEL@", GetMajor (context.Properties.GetRequiredValue (KnownProperties.AndroidMinimumNonMonoApiLevel)) },
{ "@ANDROID_DEFAULT_MINIMUM_NONMONO_API_LEVEL_MINOR@", GetMinor (context.Properties.GetRequiredValue (KnownProperties.AndroidMinimumNonMonoApiLevel)) },
{ "@ANDROID_DEFAULT_TARGET_DOTNET_API_LEVEL@", GetMajor (context.Properties.GetRequiredValue (KnownProperties.AndroidDefaultTargetDotnetApiLevel)) },
{ "@ANDROID_DEFAULT_TARGET_DOTNET_API_LEVEL_MINOR@", GetMinor (context.Properties.GetRequiredValue (KnownProperties.AndroidDefaultTargetDotnetApiLevel)) },
{ "@ANDROID_LATEST_STABLE_API_LEVEL@", GetMajor (context.Properties.GetRequiredValue (KnownProperties.AndroidLatestStableApiLevel)) },
Expand Down Expand Up @@ -256,8 +250,6 @@ 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 (
Expand Down
1 change: 0 additions & 1 deletion build-tools/xaprepare/xaprepare/xaprepare.targets
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
<Replacement Include="@AndroidCmakeVersion@=$(AndroidCmakeVersion)" />
<Replacement Include="@AndroidCmakeVersionPath@=$(AndroidCmakeVersionPath)" />
<Replacement Include="@AndroidMinimumDotNetApiLevel@=$(AndroidMinimumDotNetApiLevel)" />
<Replacement Include="@AndroidMinimumNonMonoApiLevel@=$(AndroidMinimumNonMonoApiLevel)" />
<Replacement Include="@AndroidDefaultTargetDotnetApiLevel@=$(AndroidDefaultTargetDotnetApiLevel)" />
<Replacement Include="@AndroidLatestStableApiLevel@=$(AndroidLatestStableApiLevel)" />
<Replacement Include="@AndroidLatestUnstableApiLevel@=$(AndroidLatestUnstableApiLevel)" />
Expand Down
Loading