diff --git a/build-tools/create-packs/Microsoft.Android.Ref.proj b/build-tools/create-packs/Microsoft.Android.Ref.proj
index 147dd5bd11f..d4d9b3ed0d4 100644
--- a/build-tools/create-packs/Microsoft.Android.Ref.proj
+++ b/build-tools/create-packs/Microsoft.Android.Ref.proj
@@ -36,7 +36,7 @@ by projects that use the Microsoft.Android framework in .NET 5.
<_PackageFiles Include="@(_AndroidAppPackAssemblies)" PackagePath="$(_AndroidRefPackAssemblyPath)" TargetPath="$(_AndroidRefPackAssemblyPath)" />
<_PackageFiles Include="$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\netcoreapp3.1\mono.android.jar" PackagePath="$(_AndroidRefPackAssemblyPath)" />
<_PackageFiles Include="$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\netcoreapp3.1\mono.android.dex" PackagePath="$(_AndroidRefPackAssemblyPath)" />
- <_PackageFiles Include="$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\netcoreapp3.1\AndroidApiInfo.xml" PackagePath="$(_AndroidRefPackAssemblyPath)" />
+ <_PackageFiles Include="$(XAInstallPrefix)xbuild-frameworks\MonoAndroid\*\AndroidApiInfo.xml" PackagePath="$(_AndroidRefPackAssemblyPath)\%(RecursiveDir)" />
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 be8a0206e13..ec35779d3e6 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
@@ -186,6 +186,15 @@ public void DotNetPublish ([Values (false, true)] bool isRelease)
FileAssert.Exists (aabSigned);
}
+ [Test]
+ public void TargetSdkVersion29 ()
+ {
+ var proj = new XASdkProject ();
+ proj.AndroidManifest = proj.AndroidManifest.Replace ("", "");
+ var dotnet = CreateDotNetBuilder (proj);
+ Assert.IsTrue (dotnet.Build (), "`dotnet build` should succeed");
+ }
+
[Test]
public void BuildWithLiteSdk ()
{
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XASdkProject.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XASdkProject.cs
index ef390bba567..ad7e97088e3 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XASdkProject.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XASdkProject.cs
@@ -43,6 +43,7 @@ static XASdkProject ()
public string PackageName { get; set; }
public string JavaPackageName { get; set; }
+ public string AndroidManifest { get; set; }
public XASdkProject (string outputType = "Exe")
{
@@ -51,13 +52,14 @@ public XASdkProject (string outputType = "Exe")
PackageName = PackageName ?? string.Format ("{0}.{0}", ProjectName);
JavaPackageName = JavaPackageName ?? PackageName.ToLowerInvariant ();
+ AndroidManifest = default_android_manifest;
GlobalPackagesFolder = Path.Combine (XABuildPaths.TopDirectory, "packages");
SetProperty (KnownProperties.OutputType, outputType);
// Add relevant Android content to our project without writing it to the .csproj file
if (outputType == "Exe") {
Sources.Add (new BuildItem.Source ("Properties\\AndroidManifest.xml") {
- TextContent = () => default_android_manifest.Replace ("${PROJECT_NAME}", ProjectName).Replace ("${PACKAGENAME}", string.Format ("{0}.{0}", ProjectName))
+ TextContent = () => AndroidManifest.Replace ("${PROJECT_NAME}", ProjectName).Replace ("${PACKAGENAME}", string.Format ("{0}.{0}", ProjectName))
});
}
Sources.Add (new BuildItem.Source ($"MainActivity{Language.DefaultExtension}") { TextContent = () => ProcessSourceTemplate (MainActivity ?? DefaultMainActivity) });