diff --git a/Configuration.props b/Configuration.props
index 22da4cf6596..9a0a0edb3d1 100644
--- a/Configuration.props
+++ b/Configuration.props
@@ -244,7 +244,7 @@
- 3.11.1
+ 3.12.0
<_Runtime Condition=" '$(HostOS)' != 'Windows' ">$(ManagedRuntime) $(ManagedRuntimeArgs)
<_NUnit>$(_Runtime) $(XAPackagesDir)\nunit.consolerunner\$(NUnitConsoleVersion)\tools\nunit3-console.exe
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 00000000000..98c3dfd087a
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/build-tools/scripts/NUnitReferences.projitems b/build-tools/scripts/NUnitReferences.projitems
index 2d61cf32e33..cd6842ec7c8 100644
--- a/build-tools/scripts/NUnitReferences.projitems
+++ b/build-tools/scripts/NUnitReferences.projitems
@@ -1,13 +1,13 @@
-
+
-
+
-
-
+
+
diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools
index 59cac909fa8..fa3711b7dda 160000
--- a/external/xamarin-android-tools
+++ b/external/xamarin-android-tools
@@ -1 +1 @@
-Subproject commit 59cac909fa8921cf09084a92918a5b7bca726d62
+Subproject commit fa3711b7ddac7cea6850a9c1c67beda1996aafc0
diff --git a/src/Microsoft.Android.Templates/android/Resources/mipmap-hdpi/appicon.png b/src/Microsoft.Android.Templates/android/Resources/mipmap-hdpi/appicon.png
index f97217f4aa4..0abfc1b581c 100644
Binary files a/src/Microsoft.Android.Templates/android/Resources/mipmap-hdpi/appicon.png and b/src/Microsoft.Android.Templates/android/Resources/mipmap-hdpi/appicon.png differ
diff --git a/src/Microsoft.Android.Templates/android/Resources/mipmap-mdpi/appicon.png b/src/Microsoft.Android.Templates/android/Resources/mipmap-mdpi/appicon.png
index 76ceb98d488..7b5a2e2bf8d 100644
Binary files a/src/Microsoft.Android.Templates/android/Resources/mipmap-mdpi/appicon.png and b/src/Microsoft.Android.Templates/android/Resources/mipmap-mdpi/appicon.png differ
diff --git a/src/Microsoft.Android.Templates/android/Resources/mipmap-xhdpi/appicon.png b/src/Microsoft.Android.Templates/android/Resources/mipmap-xhdpi/appicon.png
index 83f089c37bb..b28b73c6545 100644
Binary files a/src/Microsoft.Android.Templates/android/Resources/mipmap-xhdpi/appicon.png and b/src/Microsoft.Android.Templates/android/Resources/mipmap-xhdpi/appicon.png differ
diff --git a/src/Microsoft.Android.Templates/android/Resources/mipmap-xxhdpi/appicon.png b/src/Microsoft.Android.Templates/android/Resources/mipmap-xxhdpi/appicon.png
index 988160a1905..f9af1173ead 100644
Binary files a/src/Microsoft.Android.Templates/android/Resources/mipmap-xxhdpi/appicon.png and b/src/Microsoft.Android.Templates/android/Resources/mipmap-xxhdpi/appicon.png differ
diff --git a/src/Microsoft.Android.Templates/android/Resources/mipmap-xxxhdpi/appicon.png b/src/Microsoft.Android.Templates/android/Resources/mipmap-xxxhdpi/appicon.png
index b65da5a7358..1d948d6b5d8 100644
Binary files a/src/Microsoft.Android.Templates/android/Resources/mipmap-xxxhdpi/appicon.png and b/src/Microsoft.Android.Templates/android/Resources/mipmap-xxxhdpi/appicon.png differ
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/App.config b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/App.config
index 04eeba2659a..18110d074d9 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/App.config
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/App.config
@@ -10,13 +10,13 @@
-
+
-
+
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs
index f401ae3ed3c..cb964c0963b 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidCommonProject.cs
@@ -2,9 +2,6 @@
using System.Collections.Generic;
using System.IO;
using Microsoft.Build.Construction;
-using SixLabors.ImageSharp;
-using SixLabors.ImageSharp.Formats;
-using SixLabors.ImageSharp.Processing;
namespace Xamarin.ProjectTools
{
@@ -20,28 +17,27 @@ public abstract class XamarinAndroidCommonProject : XamarinAndroidProject
BuildItem.Source resourceDesigner;
- static byte [] ScaleIcon (Image image, IImageFormat format, int width, int height)
+ static XamarinAndroidCommonProject ()
{
- float scale = Math.Min (width / image.Width, height / image.Height);
- using (var ms = new MemoryStream ()) {
- var clone = image.Clone (i => i.Resize (width, height));
- clone.Save (ms, format);
- return ms.ToArray ();
- }
+ icon_binary_mdpi = GetResourceContents ("mipmap-mdpi/appicon.png");
+ icon_binary_hdpi = GetResourceContents ("mipmap-hdpi/appicon.png");
+ icon_binary_xhdpi = GetResourceContents ("mipmap-xhdpi/appicon.png");
+ icon_binary_xxhdpi = GetResourceContents ("mipmap-xxhdpi/appicon.png");
+ icon_binary_xxxhdpi = GetResourceContents ("mipmap-xxxhdpi/appicon.png");
}
- static XamarinAndroidCommonProject ()
+ static byte[] GetResourceContents (string resourceName)
{
- var stream = typeof(XamarinAndroidCommonProject).Assembly.GetManifestResourceStream ("Xamarin.ProjectTools.Resources.Base.Icon.png");
- icon_binary_mdpi = new byte [stream.Length];
- stream.Read (icon_binary_mdpi, 0, (int) stream.Length);
-
- stream.Position = 0;
- using (var icon = Image.Load (stream, out var format)) {
- icon_binary_hdpi = ScaleIcon (icon, format, 72, 72);
- icon_binary_xhdpi = ScaleIcon (icon, format, 96, 96);
- icon_binary_xxhdpi = ScaleIcon (icon, format, 144, 144);
- icon_binary_xxxhdpi = ScaleIcon (icon, format, 192, 192);
+ var assembly = typeof (XamarinAndroidCommonProject).Assembly;
+ var stream = assembly.GetManifestResourceStream (resourceName) ??
+ assembly.GetManifestResourceStream (resourceName.Replace ('/', Path.DirectorySeparatorChar));
+ if (stream == null) {
+ return Array.Empty();
+ }
+ using (stream) {
+ var contents = new byte [stream.Length];
+ stream.Read (contents, 0, (int) stream.Length);
+ return contents;
}
}
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 e814dd13ded..cb7562922f1 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
@@ -5,13 +5,13 @@
"Size": 2604
},
"assemblies/Java.Interop.dll": {
- "Size": 69028
+ "Size": 68913
},
"assemblies/Mono.Android.dll": {
- "Size": 264788
+ "Size": 265169
},
"assemblies/mscorlib.dll": {
- "Size": 769017
+ "Size": 769018
},
"assemblies/System.Core.dll": {
"Size": 28199
@@ -20,10 +20,10 @@
"Size": 9180
},
"assemblies/UnnamedProject.dll": {
- "Size": 2881
+ "Size": 2882
},
"classes.dex": {
- "Size": 370480
+ "Size": 370828
},
"lib/arm64-v8a/libmono-btls-shared.so": {
"Size": 1613872
@@ -32,16 +32,16 @@
"Size": 750976
},
"lib/arm64-v8a/libmonodroid.so": {
- "Size": 332880
+ "Size": 332936
},
"lib/arm64-v8a/libmonosgen-2.0.so": {
- "Size": 4051864
+ "Size": 4039176
},
"lib/arm64-v8a/libxa-internal-api.so": {
"Size": 66184
},
"lib/arm64-v8a/libxamarin-app.so": {
- "Size": 21112
+ "Size": 21256
},
"META-INF/ANDROIDD.RSA": {
"Size": 1213
@@ -53,19 +53,19 @@
"Size": 2098
},
"res/drawable-hdpi-v4/icon.png": {
- "Size": 4762
+ "Size": 2178
},
"res/drawable-mdpi-v4/icon.png": {
- "Size": 2200
+ "Size": 1490
},
"res/drawable-xhdpi-v4/icon.png": {
- "Size": 7462
+ "Size": 3098
},
"res/drawable-xxhdpi-v4/icon.png": {
- "Size": 13092
+ "Size": 4674
},
"res/drawable-xxxhdpi-v4/icon.png": {
- "Size": 20118
+ "Size": 6832
},
"res/layout/main.xml": {
"Size": 544
@@ -74,5 +74,5 @@
"Size": 1724
}
},
- "PackageSize": 4036308
+ "PackageSize": 4003540
}
\ 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 aea0929a8d2..ac496de717d 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
@@ -8,19 +8,19 @@
"Size": 7215
},
"assemblies/Java.Interop.dll": {
- "Size": 70056
+ "Size": 69956
},
"assemblies/Mono.Android.dll": {
- "Size": 571897
+ "Size": 572709
},
"assemblies/Mono.Security.dll": {
- "Size": 68433
+ "Size": 68432
},
"assemblies/mscorlib.dll": {
- "Size": 915406
+ "Size": 915408
},
"assemblies/System.Core.dll": {
- "Size": 164047
+ "Size": 164046
},
"assemblies/System.dll": {
"Size": 388864
@@ -38,13 +38,13 @@
"Size": 186660
},
"assemblies/System.ServiceModel.Internals.dll": {
- "Size": 26593
+ "Size": 26594
},
"assemblies/System.Xml.dll": {
"Size": 395656
},
"assemblies/UnnamedProject.dll": {
- "Size": 116897
+ "Size": 116899
},
"assemblies/Xamarin.AndroidX.Activity.dll": {
"Size": 7697
@@ -65,7 +65,7 @@
"Size": 131930
},
"assemblies/Xamarin.AndroidX.DrawerLayout.dll": {
- "Size": 15425
+ "Size": 15426
},
"assemblies/Xamarin.AndroidX.Fragment.dll": {
"Size": 43135
@@ -77,7 +77,7 @@
"Size": 7062
},
"assemblies/Xamarin.AndroidX.Lifecycle.LiveData.Core.dll": {
- "Size": 7194
+ "Size": 7193
},
"assemblies/Xamarin.AndroidX.Lifecycle.ViewModel.dll": {
"Size": 4873
@@ -92,7 +92,7 @@
"Size": 6268
},
"assemblies/Xamarin.AndroidX.SwipeRefreshLayout.dll": {
- "Size": 11272
+ "Size": 11271
},
"assemblies/Xamarin.AndroidX.ViewPager.dll": {
"Size": 19424
@@ -113,7 +113,7 @@
"Size": 43497
},
"classes.dex": {
- "Size": 3482568
+ "Size": 3482812
},
"lib/arm64-v8a/libmono-btls-shared.so": {
"Size": 1613872
@@ -122,16 +122,16 @@
"Size": 750976
},
"lib/arm64-v8a/libmonodroid.so": {
- "Size": 332880
+ "Size": 332936
},
"lib/arm64-v8a/libmonosgen-2.0.so": {
- "Size": 4051864
+ "Size": 4039176
},
"lib/arm64-v8a/libxa-internal-api.so": {
"Size": 66184
},
"lib/arm64-v8a/libxamarin-app.so": {
- "Size": 106160
+ "Size": 107024
},
"META-INF/android.support.design_material.version": {
"Size": 12
@@ -698,7 +698,7 @@
"Size": 470
},
"res/drawable-hdpi-v4/icon.png": {
- "Size": 4762
+ "Size": 2178
},
"res/drawable-hdpi-v4/notification_bg_low_normal.9.png": {
"Size": 212
@@ -908,7 +908,7 @@
"Size": 309
},
"res/drawable-mdpi-v4/icon.png": {
- "Size": 2200
+ "Size": 1490
},
"res/drawable-mdpi-v4/notification_bg_low_normal.9.png": {
"Size": 215
@@ -1136,7 +1136,7 @@
"Size": 593
},
"res/drawable-xhdpi-v4/icon.png": {
- "Size": 7462
+ "Size": 3098
},
"res/drawable-xhdpi-v4/notification_bg_low_normal.9.png": {
"Size": 221
@@ -1301,7 +1301,7 @@
"Size": 868
},
"res/drawable-xxhdpi-v4/icon.png": {
- "Size": 13092
+ "Size": 4674
},
"res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_000.png": {
"Size": 275
@@ -1388,7 +1388,7 @@
"Size": 1155
},
"res/drawable-xxxhdpi-v4/icon.png": {
- "Size": 20118
+ "Size": 6832
},
"res/drawable/abc_btn_borderless_material.xml": {
"Size": 588
@@ -1883,5 +1883,5 @@
"Size": 341040
}
},
- "PackageSize": 9549982
+ "PackageSize": 9521310
}
\ No newline at end of file
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
index 28505d150c4..c2a6504288b 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Xamarin.ProjectTools.csproj
@@ -14,6 +14,9 @@
+
+ %(RecursiveDir)appicon.png
+
@@ -25,8 +28,7 @@
-
-
+
{E34BCFA0-CAA4-412C-AA1C-75DB8D67D157}
Xamarin.Android.Tools.AndroidSdk
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
index ae4a7e2eb2e..ee9e29a5c39 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
@@ -39,7 +39,7 @@
-
+
@@ -51,8 +51,8 @@
-
-
+
+
diff --git a/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj b/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj
index 6dbfada03cd..b62cd1d7a66 100644
--- a/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj
+++ b/src/Xamarin.Android.Tools.Aidl/Xamarin.Android.Tools.Aidl.csproj
@@ -11,7 +11,7 @@
$(MicrosoftAndroidSdkOutDir)Xamarin.Android.Cecil.dll
-
-
+
+
diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/Xamarin.Android.Tools.Aidl-Tests.csproj b/tests/Xamarin.Android.Tools.Aidl-Tests/Xamarin.Android.Tools.Aidl-Tests.csproj
index ff3ed02744d..bce80ec01ee 100644
--- a/tests/Xamarin.Android.Tools.Aidl-Tests/Xamarin.Android.Tools.Aidl-Tests.csproj
+++ b/tests/Xamarin.Android.Tools.Aidl-Tests/Xamarin.Android.Tools.Aidl-Tests.csproj
@@ -7,21 +7,12 @@
+
..\..\bin\Test$(Configuration)
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-