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) });