diff --git a/build-tools/api-xml-adjuster/api-xml-adjuster.targets b/build-tools/api-xml-adjuster/api-xml-adjuster.targets
index 8432970bf27..4b24b03288a 100644
--- a/build-tools/api-xml-adjuster/api-xml-adjuster.targets
+++ b/build-tools/api-xml-adjuster/api-xml-adjuster.targets
@@ -10,12 +10,12 @@
<_Api
- Condition=" Exists('$(_TopDir)\src\Mono.Android\Profiles\api-%(AndroidApiInfo.Level).params.txt') "
+ Condition=" Exists('$(_TopDir)\src\Mono.Android\Profiles\api-%(AndroidApiInfo.Id).params.txt') "
Include="@(AndroidApiInfo)">
+ AdditionalMetadata="ParameterDescription=$(_TopDir)\src\Mono.Android\Profiles\api-%(_Api.Id).params.txt;ClassParseXml=$(_OutputPath)api\api-%(_Api.Id).xml.class-parse;ApiAdjustedXml=$(_OutputPath)api\api-%(_Api.Id).xml.in">
@@ -30,8 +30,8 @@
$(_TopDir)\bin\Build$(Configuration)\api-xml-adjuster.exe
diff --git a/src/Mono.Android/Mono.Android.csproj b/src/Mono.Android/Mono.Android.csproj
index a6dbe692964..f6851d03598 100644
--- a/src/Mono.Android/Mono.Android.csproj
+++ b/src/Mono.Android/Mono.Android.csproj
@@ -97,7 +97,7 @@
False
- $(IntermediateOutputPath)android-$(AndroidApiLevel)\
+ $(IntermediateOutputPath)android-$(AndroidPlatformId)\
diff --git a/src/Mono.Android/Mono.Android.targets b/src/Mono.Android/Mono.Android.targets
index 373e64eac0f..51dbd6718bc 100644
--- a/src/Mono.Android/Mono.Android.targets
+++ b/src/Mono.Android/Mono.Android.targets
@@ -79,9 +79,18 @@
Outputs="$(IntermediateOutputPath)mcw\Mono.Android.projitems">
- <_ApiVersions Condition="Exists('$(AndroidSdkDirectory)\platforms\android-$(AndroidApiLevel)\data\api-versions.xml')">"$(AndroidSdkDirectory)\platforms\android-$(AndroidApiLevel)\data\api-versions.xml"
- <_ApiVersions Condition="'$(_ApiVersions)'==''">"$(AndroidSdkDirectory)\platform-tools\api\api-versions.xml"
+ <_PlatformIdVersions>$(AndroidSdkDirectory)\platforms\android-$(AndroidPlatformId)\data\api-versions.xml
+
+ <_ApiVersion
+ Condition=" '$(AndroidApiLevel)' > 29 Or !Exists ('$(_PlatformIdVersions)')"
+ Include="$(AndroidSdkDirectory)\platform-tools\api\api-versions.xml"
+ />
+ <_ApiVersion
+ Condition="Exists('$(_PlatformIdVersions)')"
+ Include="$(_PlatformIdVersions)"
+ />
+
"$(XAInstallPrefix)xbuild\Xamarin\Android\generator.exe"
<_GenFlags>--public --product-version=7
@@ -91,7 +100,7 @@
<_Fixup>--fixup=metadata
<_Enums1>--preserve-enums --enumflags=enumflags --enumfields=map.csv --enummethods=methodmap.csv
<_Enums2>--enummetadata=$(IntermediateOutputPath)mcw\enummetadata
- <_Versions>--apiversions=$(_ApiVersions)
+ <_Versions>@(_ApiVersion->'--apiversions="%(Identity)"', ' ')
<_Annotations>--annotations="$(AndroidSdkDirectory)\platform-tools\api\annotations.zip"
<_Assembly>--assembly="Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
<_TypeMap>--type-map-report=$(IntermediateOutputPath)mcw\type-mapping.txt
diff --git a/src/Mono.Android/Profiles/api-30.params.txt b/src/Mono.Android/Profiles/api-R.params.txt
similarity index 100%
rename from src/Mono.Android/Profiles/api-30.params.txt
rename to src/Mono.Android/Profiles/api-R.params.txt