diff --git a/Configuration.Override.props.in b/Configuration.Override.props.in
index 2d08b9bc0f1..f7575b085a2 100644
--- a/Configuration.Override.props.in
+++ b/Configuration.Override.props.in
@@ -6,11 +6,11 @@
kept consistent with each other, lest Bad Things Happen™
-->
- 30
+ 31
- v11.0
+ v12.0
- 30
+ 31
- 30
+ 31
$(AndroidLatestStableApiLevel)
- v11.0
+ v12.0
$(AndroidLatestStableApiLevel)
$(AndroidLatestStablePlatformId)
diff --git a/Directory.Build.props b/Directory.Build.props
index 020f8504e86..0d297c5281a 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -21,7 +21,7 @@
* Bump last two digits of the patch version for service releases.
* Bump first digit of the patch version for feature releases (and reset the first two digits to 0)
-->
- 30.0.100
+ 31.0.100
rc.2
diff --git a/Documentation/building/windows/instructions.md b/Documentation/building/windows/instructions.md
index 5e290e9bd22..1d682b0e9d2 100644
--- a/Documentation/building/windows/instructions.md
+++ b/Documentation/building/windows/instructions.md
@@ -46,7 +46,7 @@ After the solution has built successfully, you can [use your
build][using-your-build] to build Xamarin.Android application and library
projects. Note that by default `Xamarin.Android.sln` only builds support for
the `$(TargetFrameworkVersion)` specified in the `$(AndroidFrameworkVersion)`
-property of the [`Configuration.props`][configprops-main] file (`v11.0` when
+property of the [`Configuration.props`][configprops-main] file (`v12.0` when
this guide was last updated), so you will need to ensure that your application
and library projects are configured to use that particular target framework
version.
diff --git a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs
index 697d1e9fd19..a6faea8f3de 100644
--- a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs
+++ b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CheckApiCompatibility.cs
@@ -28,7 +28,7 @@ public sealed class CheckApiCompatibility : Task
{ "v9.0", "v8.1" },
{ "v10.0", "v9.0" },
{ "v11.0", "v10.0" },
- { "v11.0.99", "v11.0" },
+ { "v12.0", "v11.0" },
};
static readonly string assemblyToValidate = "Mono.Android.dll";
diff --git a/build-tools/api-merge/merge-configuration.xml b/build-tools/api-merge/merge-configuration.xml
index 2f99a9349ff..03ed3b8b891 100644
--- a/build-tools/api-merge/merge-configuration.xml
+++ b/build-tools/api-merge/merge-configuration.xml
@@ -19,7 +19,7 @@
-
+
@@ -34,6 +34,6 @@
-
+
\ No newline at end of file
diff --git a/build-tools/api-xml-adjuster/Makefile b/build-tools/api-xml-adjuster/Makefile
index aa72a0adbd6..6377f41b27c 100644
--- a/build-tools/api-xml-adjuster/Makefile
+++ b/build-tools/api-xml-adjuster/Makefile
@@ -17,7 +17,7 @@ API_XML_TOOL = $(BUILDBIN)/api-xml-adjuster.exe
RUNTIME = mono --debug
RUN_CLASS_PARSE = $(RUNTIME) $(CLASS_PARSE)
RUN_API_XML_TOOL = $(RUNTIME) $(API_XML_TOOL)
-API_LEVELS = 10 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 S
+API_LEVELS = 10 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
XML_OUTPUT_DIR = .
diff --git a/build-tools/automation/azure-pipelines.yaml b/build-tools/automation/azure-pipelines.yaml
index cf31bee22e4..05449f2902f 100644
--- a/build-tools/automation/azure-pipelines.yaml
+++ b/build-tools/automation/azure-pipelines.yaml
@@ -932,7 +932,6 @@ stages:
job_name: mac_msbuild_tests_1
job_suffix: Legacy
nunit_categories: '&& cat != SmokeTests'
- jdkTestFolder: $(XA.Jdk8.Folder)
- template: yaml-templates\run-msbuild-mac-tests.yaml
parameters:
@@ -941,7 +940,6 @@ stages:
job_suffix: Legacy
nunit_categories: '&& cat != SmokeTests'
run_extra_tests: true
- jdkTestFolder: $(XA.Jdk8.Folder)
- template: yaml-templates\run-msbuild-mac-tests.yaml
parameters:
@@ -949,7 +947,6 @@ stages:
job_name: mac_msbuild_tests_3
job_suffix: Legacy
nunit_categories: '&& cat != SmokeTests'
- jdkTestFolder: $(XA.Jdk8.Folder)
# Xamarin.Android (Test MSBuild Legacy - Windows)
- template: yaml-templates\run-msbuild-win-tests.yaml
@@ -958,7 +955,6 @@ stages:
job_name: win_msbuild_tests_1
job_suffix: Legacy
nunit_categories: '&& cat != SmokeTests'
- jdkTestFolder: $(XA.Jdk8.Folder)
- template: yaml-templates\run-msbuild-win-tests.yaml
parameters:
@@ -967,7 +963,6 @@ stages:
job_suffix: Legacy
nunit_categories: '&& cat != SmokeTests'
run_extra_tests: true
- jdkTestFolder: $(XA.Jdk8.Folder)
- template: yaml-templates\run-msbuild-win-tests.yaml
parameters:
@@ -975,7 +970,6 @@ stages:
job_name: win_msbuild_tests_3
job_suffix: Legacy
nunit_categories: '&& cat != SmokeTests'
- jdkTestFolder: $(XA.Jdk8.Folder)
- stage: msbuild_dotnet
displayName: One .NET Tests
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs
index 8a0e0b5356c..39894f1a266 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs
@@ -39,7 +39,7 @@ class BuildAndroidPlatforms
new AndroidPlatform (apiName: "Pie", apiLevel: 28, platformID: "28", include: "v9.0", framework: "v9.0"),
new AndroidPlatform (apiName: "Q", apiLevel: 29, platformID: "29", include: "v10.0", framework: "v10.0"),
new AndroidPlatform (apiName: "R", apiLevel: 30, platformID: "30", include: "v11.0", framework: "v11.0"),
- new AndroidPlatform (apiName: "S", apiLevel: 31, platformID: "S", include: "v11.0.99", framework: "v11.0.99", stable: false),
+ new AndroidPlatform (apiName: "S", apiLevel: 31, platformID: "31", include: "v12.0", framework: "v12.0"),
};
// These are here until we can drop "legacy" targets and use only .NET6+
diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs
index a65fc65373b..e2ad727bcf5 100644
--- a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs
+++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs
@@ -62,7 +62,7 @@ public AndroidToolchain ()
new AndroidPlatformComponent ("platform-28_r04", apiLevel: "28", pkgRevision: "4"),
new AndroidPlatformComponent ("platform-29_r01", apiLevel: "29", pkgRevision: "1"),
new AndroidPlatformComponent ("platform-30_r01", apiLevel: "30", pkgRevision: "1"),
- new AndroidPlatformComponent ("platform-31_r01", apiLevel: "S", pkgRevision: "1"),
+ new AndroidPlatformComponent ("platform-31_r01", apiLevel: "31", pkgRevision: "1"),
new AndroidToolchainComponent ("sources-30_r01", destDir: Path.Combine ("platforms", $"android-30", "src"), pkgRevision: "1", dependencyType: AndroidToolchainComponentType.BuildDependency),
diff --git a/src/Mono.Android/Profiles/api-S.params.txt b/src/Mono.Android/Profiles/api-31.params.txt
similarity index 100%
rename from src/Mono.Android/Profiles/api-S.params.txt
rename to src/Mono.Android/Profiles/api-31.params.txt
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs
index 1135a2c95ff..6ba39b4bd3d 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs
@@ -419,7 +419,6 @@ public void RemoveEventHandlerResolution ()
{
var binding = new XamarinAndroidBindingProject () {
IsRelease = true,
- UseLatestPlatformSdk = true,
Jars = {
new AndroidItem.LibraryProjectZip ("Jars\\ActionBarSherlock-4.3.1.zip") {
WebContent = "https://github.com/xamarin/monodroid-samples/blob/master/ActionBarSherlock/ActionBarSherlock/Jars/ActionBarSherlock-4.3.1.zip?raw=true"
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 492df957658..ec14ea99478 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
@@ -9,11 +9,12 @@
using Xamarin.Tools.Zip;
using Microsoft.Android.Build.Tasks;
+#if !NET472
namespace Xamarin.Android.Build.Tests
{
[TestFixture]
[NonParallelizable] // On MacOS, parallel /restore causes issues
- [Category ("Node-2"), Category ("DotNetIgnore")] // These don't need to run under `dotnet test`
+ [Category ("Node-2")]
public class XASdkTests : BaseTest
{
///
@@ -207,7 +208,7 @@ public void DotNetNew ([Values ("android", "androidlib", "android-bindinglib")]
}
[Test]
- public void DotNetPack ([Values ("net6.0-android", "net6.0-android30")] string targetFramework)
+ public void DotNetPack ([Values ("net6.0-android", "net6.0-android31")] string targetFramework)
{
var proj = new XASdkProject (outputType: "Library") {
TargetFramework = targetFramework,
@@ -239,8 +240,8 @@ public void DotNetPack ([Values ("net6.0-android", "net6.0-android30")] string t
var nupkgPath = Path.Combine (FullProjectDirectory, proj.OutputPath, "..", $"{proj.ProjectName}.1.0.0.nupkg");
FileAssert.Exists (nupkgPath);
using (var nupkg = ZipHelper.OpenZip (nupkgPath)) {
- nupkg.AssertContainsEntry (nupkgPath, $"lib/net6.0-android30.0/{proj.ProjectName}.dll");
- nupkg.AssertContainsEntry (nupkgPath, $"lib/net6.0-android30.0/{proj.ProjectName}.aar");
+ nupkg.AssertContainsEntry (nupkgPath, $"lib/net6.0-android31.0/{proj.ProjectName}.dll");
+ nupkg.AssertContainsEntry (nupkgPath, $"lib/net6.0-android31.0/{proj.ProjectName}.aar");
}
}
@@ -454,7 +455,7 @@ public void DotNetBuild (string runtimeIdentifiers, bool isRelease, bool aot)
$"{proj.ProjectName}.runtimeconfig.json",
$"{proj.ProjectName}.xml",
};
- CollectionAssert.AreEqual (expectedFiles, files, $"Expected: {string.Join (";", expectedFiles)}\n Found: {string.Join (";", files)}");
+ CollectionAssert.AreEquivalent (expectedFiles, files, $"Expected: {string.Join (";", expectedFiles)}\n Found: {string.Join (";", files)}");
var assemblyPath = Path.Combine (outputPath, $"{proj.ProjectName}.dll");
FileAssert.Exists (assemblyPath);
@@ -481,7 +482,7 @@ public void DotNetBuild (string runtimeIdentifiers, bool isRelease, bool aot)
XNamespace ns = "http://schemas.android.com/apk/res/android";
var uses_sdk = manifest.Root.Element ("uses-sdk");
Assert.AreEqual ("21", uses_sdk.Attribute (ns + "minSdkVersion").Value);
- Assert.AreEqual ("30", uses_sdk.Attribute (ns + "targetSdkVersion").Value);
+ Assert.AreEqual ("31", uses_sdk.Attribute (ns + "targetSdkVersion").Value);
bool expectEmbeddedAssembies = !(CommercialBuildAvailable && !isRelease);
var apkPath = Path.Combine (outputPath, $"{proj.PackageName}.apk");
@@ -503,6 +504,11 @@ public void DotNetBuild (string runtimeIdentifiers, bool isRelease, bool aot)
}
}
+
+ ///
+ /// NOTE: we cannot use SupportedOSPlatformVersion=31 yet, due to d8 2.2.64 emitting a warning for `--min-api 31`:
+ /// D8 An API level of 31 is not supported by this compiler. Please use an API level of 30 or earlier
+ ///
[Test]
public void SupportedOSPlatformVersion ([Values (21, 30)] int minSdkVersion)
{
@@ -615,7 +621,7 @@ public void XamarinLegacySdk ()
};
using var b = new Builder ();
- var dotnetTargetFramework = "net6.0-android30.0";
+ var dotnetTargetFramework = "net6.0-android31.0";
var legacyTargetFrameworkVersion = "11.0";
var legacyTargetFramework = $"monoandroid{legacyTargetFrameworkVersion}";
proj.SetProperty ("TargetFramework", value: "");
@@ -632,7 +638,7 @@ public void XamarinLegacySdk ()
}
[Test]
- public void MauiTargetFramework ([Values ("net6.0-android", "net6.0-android30", "net6.0-android30.0")] string targetFramework)
+ public void MauiTargetFramework ([Values ("net6.0-android", "net6.0-android31", "net6.0-android31.0")] string targetFramework)
{
var library = new XASdkProject (outputType: "Library") {
TargetFramework = targetFramework,
@@ -737,3 +743,4 @@ DotNetCLI CreateDotNetBuilder (XASdkProject project, string relativeProjectDir =
}
}
}
+#endif
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/Versions.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/Versions.cs
index e303cff781b..e0e8cfbc961 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/Versions.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/Versions.cs
@@ -4,6 +4,7 @@ namespace Xamarin.ProjectTools
{
public static class Versions
{
+ public const string Android12 = "v12.0";
public const string Android11 = "v11.0";
///
/// Previously known as Q
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc
index 755fbf3f522..75bc7b32c50 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc
@@ -8,7 +8,7 @@
"Size": 57802
},
"assemblies/Mono.Android.dll": {
- "Size": 82977
+ "Size": 83219
},
"assemblies/rc.bin": {
"Size": 946
@@ -17,22 +17,22 @@
"Size": 11292
},
"assemblies/System.Private.CoreLib.dll": {
- "Size": 532778
+ "Size": 533257
},
"assemblies/System.Runtime.dll": {
- "Size": 2676
+ "Size": 2681
},
"assemblies/UnnamedProject.dll": {
- "Size": 3171
+ "Size": 3186
},
"classes.dex": {
- "Size": 316792
+ "Size": 345240
},
"lib/arm64-v8a/libmonodroid.so": {
"Size": 338784
},
"lib/arm64-v8a/libmonosgen-2.0.so": {
- "Size": 3155488
+ "Size": 3163680
},
"lib/arm64-v8a/libSystem.IO.Compression.Native.so": {
"Size": 776216
@@ -77,5 +77,5 @@
"Size": 1724
}
},
- "PackageSize": 2688851
+ "PackageSize": 2697043
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleLegacy.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleLegacy.apkdesc
index aef4ce023bd..6d17b465281 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleLegacy.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleLegacy.apkdesc
@@ -4,75 +4,75 @@
"AndroidManifest.xml": {
"Size": 2584
},
- "res/drawable-mdpi-v4/icon.png": {
- "Size": 2200
- },
- "res/drawable-hdpi-v4/icon.png": {
- "Size": 4762
- },
- "res/drawable-xhdpi-v4/icon.png": {
- "Size": 7462
- },
- "res/drawable-xxhdpi-v4/icon.png": {
- "Size": 13092
- },
- "res/drawable-xxxhdpi-v4/icon.png": {
- "Size": 20118
- },
- "res/layout/main.xml": {
- "Size": 544
- },
- "resources.arsc": {
- "Size": 1724
- },
- "classes.dex": {
- "Size": 316700
- },
- "assemblies/UnnamedProject.dll": {
- "Size": 2851
- },
"assemblies/Java.Interop.dll": {
- "Size": 67719
+ "Size": 67759
},
"assemblies/Mono.Android.dll": {
- "Size": 246165
+ "Size": 251450
},
"assemblies/mscorlib.dll": {
- "Size": 769192
+ "Size": 769324
},
"assemblies/System.Core.dll": {
- "Size": 28168
+ "Size": 28186
},
"assemblies/System.dll": {
- "Size": 9163
+ "Size": 9171
},
- "lib/arm64-v8a/libxamarin-app.so": {
- "Size": 19696
- },
- "lib/arm64-v8a/libmonodroid.so": {
- "Size": 268792
+ "assemblies/UnnamedProject.dll": {
+ "Size": 2867
},
- "lib/arm64-v8a/libxa-internal-api.so": {
- "Size": 65312
+ "classes.dex": {
+ "Size": 345208
},
"lib/arm64-v8a/libmono-btls-shared.so": {
"Size": 1613872
},
- "lib/arm64-v8a/libmonosgen-2.0.so": {
- "Size": 4050176
- },
"lib/arm64-v8a/libmono-native.so": {
"Size": 707024
},
- "META-INF/ANDROIDD.SF": {
- "Size": 2225
+ "lib/arm64-v8a/libmonodroid.so": {
+ "Size": 282936
+ },
+ "lib/arm64-v8a/libmonosgen-2.0.so": {
+ "Size": 4037584
+ },
+ "lib/arm64-v8a/libxa-internal-api.so": {
+ "Size": 65496
+ },
+ "lib/arm64-v8a/libxamarin-app.so": {
+ "Size": 20032
},
"META-INF/ANDROIDD.RSA": {
"Size": 1213
},
+ "META-INF/ANDROIDD.SF": {
+ "Size": 2225
+ },
"META-INF/MANIFEST.MF": {
"Size": 2098
+ },
+ "res/drawable-hdpi-v4/icon.png": {
+ "Size": 4762
+ },
+ "res/drawable-mdpi-v4/icon.png": {
+ "Size": 2200
+ },
+ "res/drawable-xhdpi-v4/icon.png": {
+ "Size": 7462
+ },
+ "res/drawable-xxhdpi-v4/icon.png": {
+ "Size": 13092
+ },
+ "res/drawable-xxxhdpi-v4/icon.png": {
+ "Size": 20118
+ },
+ "res/layout/main.xml": {
+ "Size": 544
+ },
+ "resources.arsc": {
+ "Size": 1724
}
},
- "PackageSize": 3962580
+ "PackageSize": 3978964
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsLegacy.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsLegacy.apkdesc
index 21a794dffef..2d000cc2e18 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsLegacy.apkdesc
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsLegacy.apkdesc
@@ -11,10 +11,10 @@
"Size": 68711
},
"assemblies/Mono.Android.dll": {
- "Size": 557367
+ "Size": 562181
},
"assemblies/Mono.Security.dll": {
- "Size": 68420
+ "Size": 68422
},
"assemblies/mscorlib.dll": {
"Size": 915407
@@ -44,7 +44,7 @@
"Size": 395644
},
"assemblies/UnnamedProject.dll": {
- "Size": 116882
+ "Size": 116883
},
"assemblies/Xamarin.AndroidX.Activity.dll": {
"Size": 7686
@@ -53,7 +53,7 @@
"Size": 6635
},
"assemblies/Xamarin.AndroidX.AppCompat.dll": {
- "Size": 125317
+ "Size": 125318
},
"assemblies/Xamarin.AndroidX.CardView.dll": {
"Size": 7354
@@ -113,7 +113,7 @@
"Size": 43488
},
"classes.dex": {
- "Size": 3455228
+ "Size": 3483748
},
"lib/arm64-v8a/libmono-btls-shared.so": {
"Size": 1613872
@@ -122,7 +122,7 @@
"Size": 707024
},
"lib/arm64-v8a/libmonodroid.so": {
- "Size": 283112
+ "Size": 282936
},
"lib/arm64-v8a/libmonosgen-2.0.so": {
"Size": 4037584
@@ -1883,5 +1883,5 @@
"Size": 341040
}
},
- "PackageSize": 9484446
+ "PackageSize": 9496734
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
index c4adb8ffbca..947a30f1fcc 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
@@ -552,17 +552,6 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved.
DependsOnTargets="$(_OnResolveMonoAndroidSdks)">
-
-
-
-
<_OnResolveMonoAndroidSdks>
_ResolveMonoAndroidSdks
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Legacy.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Legacy.targets
index 62055f22f8d..72a1bbe389c 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Legacy.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Legacy.targets
@@ -236,6 +236,17 @@ projects. .NET 5 projects will not import this file.
+
+
+
+
512
Resources\Resource.designer.cs
Off
- v11.0
+ v12.0
true
true
..\..\..\product.snk
diff --git a/tests/Mono.Android-Tests/Mono.Android-Test.Library/Mono.Android-Test.Library.csproj b/tests/Mono.Android-Tests/Mono.Android-Test.Library/Mono.Android-Test.Library.csproj
index 8294ef0ef83..f99d663076a 100644
--- a/tests/Mono.Android-Tests/Mono.Android-Test.Library/Mono.Android-Test.Library.csproj
+++ b/tests/Mono.Android-Tests/Mono.Android-Test.Library/Mono.Android-Test.Library.csproj
@@ -15,7 +15,7 @@
512
Resources\Resource.designer.cs
Off
- v11.0
+ v12.0
diff --git a/tests/Mono.Android-Tests/Mono.Android-Tests.csproj b/tests/Mono.Android-Tests/Mono.Android-Tests.csproj
index 093de547eea..ae5db0b6864 100644
--- a/tests/Mono.Android-Tests/Mono.Android-Tests.csproj
+++ b/tests/Mono.Android-Tests/Mono.Android-Tests.csproj
@@ -21,7 +21,7 @@
All
true
..\..\product.snk
- v11.0
+ v12.0
d8
<_SkipJniAddNativeMethodRegistrationAttributeScan>True
true
diff --git a/tests/api-compatibility/acceptable-breakages-v11.0.99.txt b/tests/api-compatibility/acceptable-breakages-v12.0.txt
similarity index 100%
rename from tests/api-compatibility/acceptable-breakages-v11.0.99.txt
rename to tests/api-compatibility/acceptable-breakages-v12.0.txt
diff --git a/tests/api-compatibility/acceptable-breakages-vReference.txt b/tests/api-compatibility/acceptable-breakages-vReference.txt
index 6756b2423e2..9916b31e8dd 100644
--- a/tests/api-compatibility/acceptable-breakages-vReference.txt
+++ b/tests/api-compatibility/acceptable-breakages-vReference.txt
@@ -1,26 +1 @@
Compat issues with assembly Mono.Android:
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ActivityAttribute.Icon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ActivityAttribute.Label' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ActivityAttribute.RoundIcon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ActivityAttribute.Theme' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ApplicationAttribute.Description' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ApplicationAttribute.Icon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ApplicationAttribute.Label' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ApplicationAttribute.Logo' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ApplicationAttribute.RoundIcon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ApplicationAttribute.Theme' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.InstrumentationAttribute.Icon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.InstrumentationAttribute.Label' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.InstrumentationAttribute.RoundIcon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ServiceAttribute.Icon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ServiceAttribute.Label' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.App.ServiceAttribute.RoundIcon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.Content.BroadcastReceiverAttribute.Description' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.Content.BroadcastReceiverAttribute.Icon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.Content.BroadcastReceiverAttribute.Label' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.Content.BroadcastReceiverAttribute.RoundIcon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.Content.ContentProviderAttribute.Icon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.Content.ContentProviderAttribute.Label' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.ComponentModel.CategoryAttribute' exists on 'Android.Content.ContentProviderAttribute.RoundIcon' in the contract but not the implementation.
-CannotRemoveAttribute : Attribute 'System.Runtime.Serialization.DataContractAttribute' exists on 'Java.Lang.Object' in the contract but not the implementation.
-EnumValuesMustMatch : Enum value 'Android.OS.BuildVersionCodes Android.OS.BuildVersionCodes.R' is (System.Int32)30 in the implementation but (System.Int32)10000 in the contract.
\ No newline at end of file
diff --git a/tests/api-compatibility/api-compat-exclude-attributes.txt b/tests/api-compatibility/api-compat-exclude-attributes.txt
index 3e1e8a5db81..cf7f0eaefda 100644
--- a/tests/api-compatibility/api-compat-exclude-attributes.txt
+++ b/tests/api-compatibility/api-compat-exclude-attributes.txt
@@ -13,3 +13,4 @@ T:System.Runtime.CompilerServices.IteratorStateMachineAttribute
T:System.Runtime.CompilerServices.NullableAttribute
T:System.Runtime.CompilerServices.NullableContextAttribute
+T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute
diff --git a/tests/api-compatibility/reference/Mono.Android.zip b/tests/api-compatibility/reference/Mono.Android.zip
index 9f17138cb3e..358bc70590a 100644
Binary files a/tests/api-compatibility/reference/Mono.Android.zip and b/tests/api-compatibility/reference/Mono.Android.zip differ