diff --git a/Configuration.props b/Configuration.props
index 82abd668433..bb679e92041 100644
--- a/Configuration.props
+++ b/Configuration.props
@@ -73,7 +73,7 @@
$(AndroidToolchainDirectory)\sdk
$(ANDROID_NDK_LATEST_HOME)
$(AndroidToolchainDirectory)\ndk
- 3.30.3
+ 4.1.2
@@ -97,26 +97,27 @@
armeabi-v7a;x86
arm64-v8a;x86_64
$(AllSupported32BitTargetAndroidAbis);$(AllSupported64BitTargetAndroidAbis)
- 36
- 36.0.0
- 04E7F3A72044DE4926FA038FA0E251A37BBA1E1C3FB8BEAB6F8401BFD9EB4BF3
- 5D9AC77FB6FF43D9DA518A337B4FCF8F9097113DF531D99CCEFE80EF7CE8250B
- AA1095CB14D83E483818A748A2C06FAAEB8E601561B06A356A119A1B2CA280D3
- 36.0.0
- D3E9FA1DF3345CF728586908426615A60863D2632F73F1CE14F0F1349EF000FD
- 0EAD642C943FFE79701FCCCA8F5F1C69C4CE4F43DF2EEFEE553F6CCB27CBFBE8
- 12C2841F354E92A0EB2FD7BF6F0F9BF8538ABCE7BD6B060AC8349D6F6A61107C
- 5673201E6F3869F418EEED3B5CB6C4BE7401502BD0AAE1B12A29D164D647A54E
- 7EC965280A073311C339E571CD5DE778B9975026CFCBE79F2B1CDCB1E15317EE
- 98B565CB657B012DAE6794CEFC0F66AE1EFB4690C699B78A614B4A6A3505B003
- 57024D590691B9D66977D2F66786F10971549441B33B7830D3D2B659F80B93EA
- 8CF0DC4F7CE0173D13ED71066FB6861A79C73545DF71D12CA3E933430F268D50
- 026982DBA2DBD2DE4A530CF1300FFAD05F6BC7D372D9DF83D46112FE017E0C6B
+ 37
+ 37.0.0
+ B5B1AC529028A49F11B596B89D9B34252E0F39388EE7DBD16AE3110F1C9C5722
+ 01AF179347CBCD9C208B7F8171F7B21F6DD1D2F85BCD15E88CAA51D5D7B86060
+ 68075AA319ED8A01CF1A565ED1E61A3C1A801DD49191C35851248DC293C33B1A
+ 37.0.1
+ EE39AD5967E95C2A07F04DBCBDE96B1A0C916BA376096DB5D2F498B7727A5D1D
+ D230F13842F60F782A8645F9C813F8F845BF36089EA7289F28C48F17979313F1
+ 45F4D63113E895EBDE0C90F194099A4676B6AC653BD28D54314A9E022BBC1A99
+ C5A6378AB5CF7E0D5701921405115BEFFF13E9FF7417FB588389338F8BD050F3
+ 835B62A26162B229B441D1F6D4680383815A270809EB33522C0D480FA5002C4E
+ 4E4C464F145A7512B57D088AC6C278C03C9EEA610886B35A5E0804E74EEDF583
+ 90AE805D20434428BFFCB699C290860F19BB5F66A67E6B330067E3DE801FB04A
+ 130B80221ABDA282B96E3669CEF5DCCF0D916E988E08051F5DACCDD03360A1AC
+ 46BDA18F0F3C28A55F88DA4BA05FEC21ABE3D9BCA0A78A8B18D444987B3DC817
+ 3A78AD82A3F3E9E613E255618D2ACF1B3C4BDB24EF6E1F9341227CF6FC492A89
- 3029489D4B2F868DC5347AA27B1E52FB48D6D28ABD51278E3FBEC2EE73201EDF
- EDA85B9BFFD0926B7A01EA334A30AB41827F573CBDE8F7F97FCD8C5B38F039F6
- 58BFDF0572F06EC007A7287154CDC6B2EBFEA947D07A1E26A0F6B5E1A39E9191
- 9F2855BFE98E80728E61D45B0EA72BA22F64952C9330559FA4E2CD3698A32231
+ C1A3890F95B8868198918FAD05FFCA16FA20404D93547BA545FF5A5867EE7005
+ 22530DE9363F34EA945ECB5CAD74523ABD4B615F27F3C1A9899EFB183EA9E144
+ 95771E0AE431897B2A4BD2D97FA095F29A8B0624A7B216BAF529F9306161C266
+ 5FF441F3B12ACE9B13E9CF96FB0007D233967718652A8110705E995AC47BFEB7
B5C3FDA1F4B4931C30518D342E4AD5F7464945E0CDCED3538D4FF2E12F7BF201
7FD1610E16A69AC2E202278E82077DE134CE404FE099D872019F69F3A340ACDD
@@ -125,7 +126,7 @@
A3F91808DCE50C1717737DE90C18479ED3A78B147E06985247D138E7AB5123D0
68DB2690CB92E4EE5373AC9B792642C90717D8F417D83ECCEA48781171B3182A
- BD97900346A70C784AC8B15C809539DDEF34ED3B5BE1DF8A9A89CF298BE93798
+ A853F452B8BA94933EB56ED4E0F622991F9D6DE6E0AC19923AA47414D79B9129
<_XAAndroidNdkRelease>28c
@@ -180,12 +181,12 @@
avdmanager.bat
$(AndroidSdkFullPath)\tools
$(AndroidToolPath)\bin
- 19.0
- 13114758_latest
+ 22.0
+ 15859902_latest
$(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)\bin
- 15004761
- 36.4.10
+ 15917651
+ 37.1.11
$(AndroidSdkFullPath)\emulator
emulator
emulator.exe
diff --git a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CreateAndroidEmulator.cs b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CreateAndroidEmulator.cs
index 8d8d1754a22..69815435a46 100644
--- a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CreateAndroidEmulator.cs
+++ b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/CreateAndroidEmulator.cs
@@ -23,7 +23,7 @@ public class CreateAndroidEmulator : ToolTask
public string TargetId {get; set;}
public string ImageName {get; set;} = "XamarinAndroidTestRunner64";
- public string DeviceName {get; set;} = "pixel_4";
+ public string DeviceName {get; set;}
public string ImageType {get; set;} = "default";
public string DataPartitionSizeMB {get; set;} = "2048";
diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets
index f69919ef4b2..292ef10bc69 100644
--- a/build-tools/create-packs/Directory.Build.targets
+++ b/build-tools/create-packs/Directory.Build.targets
@@ -125,10 +125,21 @@
<_TempDirectory>$(IntermediateOutputPath).xa-workload-temp-$([System.IO.Path]::GetRandomFileName())
+ <_LocalSdkPackProject>$(_TempDirectory)\local-sdk-pack.csproj
+ <_LocalSdkPackPackagesDirectory>$([System.IO.Path]::Combine('$(_TempDirectory)', 'packages'))
<_NuGetSources Include="$(OutputPath.TrimEnd('\'))" />
<_PreviewPacks Condition=" '$(AndroidLatestStableApiLevel)' != '$(AndroidLatestUnstableApiLevel)' " Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.Android.Ref.$(AndroidLatestUnstableApiLevel).*.nupkg" />
+ <_LocalSdkPackProjectLines Include="<Project Sdk="Microsoft.NET.Sdk">" />
+ <_LocalSdkPackProjectLines Include=" <PropertyGroup>" />
+ <_LocalSdkPackProjectLines Include=" <TargetFramework>$(DotNetTargetFramework)</TargetFramework>" />
+ <_LocalSdkPackProjectLines Include=" <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>" />
+ <_LocalSdkPackProjectLines Include=" </PropertyGroup>" />
+ <_LocalSdkPackProjectLines Include=" <ItemGroup>" />
+ <_LocalSdkPackProjectLines Include=" <PackageDownload Include="$(MicrosoftAndroidSdkPackName)" Version="[$(AndroidPackVersionLong)]" />" />
+ <_LocalSdkPackProjectLines Include=" </ItemGroup>" />
+ <_LocalSdkPackProjectLines Include="</Project>" />
<_InstallArguments Include="android" />
<_InstallArguments Include="--skip-manifest-update" />
<_InstallArguments Include="--skip-sign-check" />
@@ -137,8 +148,20 @@
<_InstallArguments Include="--temp-dir "$(_TempDirectory)"" />
+
+
+
diff --git a/build-tools/scripts/TestApks.targets b/build-tools/scripts/TestApks.targets
index 35f9237d829..05eecdd60a1 100644
--- a/build-tools/scripts/TestApks.targets
+++ b/build-tools/scripts/TestApks.targets
@@ -19,7 +19,6 @@
true
false
-no-window -no-boot-anim -gpu swiftshader $(TestAvdExtraBootArgs)
- pixel_4
system-images;android-$(TestAvdApiLevel);$(TestAvdType);$(TestAvdAbi)
XamarinAndroidTestRunner$(TestAvdApiLevel)-$(TestAvdAbi)
<_AdbEmulatorPort>5570
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
index 833bce9d05a..697bf54c050 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
@@ -129,10 +129,39 @@
Properties="Configuration=$(Configuration);AndroidApiLevel=$(AndroidLatestStableApiLevel);AndroidFrameworkVersion=$(AndroidLatestStableFrameworkVersion);AndroidPlatformId=$(AndroidLatestStablePlatformId)"
/>
+
+
+ <_XACommonPropsCacheLines Include="CommandLineToolsFolder=$(CommandLineToolsFolder)" />
+ <_XACommonPropsCacheLines Include="XABundleToolVersion=$(XABundleToolVersion)" />
+ <_XACommonPropsCacheLines Include="JavaSdkVersion=$(JavaSdkVersion)" />
+ <_XACommonPropsCacheLines Include="MinimumSupportedJavaSdkVersion=$(MinimumSupportedJavaSdkVersion)" />
+ <_XACommonPropsCacheLines Include="AndroidNdkApiLevel_ArmV8a=$(AndroidNdkApiLevel_ArmV8a)" />
+ <_XACommonPropsCacheLines Include="AndroidNdkApiLevel_ArmV7a=$(AndroidNdkApiLevel_ArmV7a)" />
+ <_XACommonPropsCacheLines Include="AndroidNdkApiLevel_X86_64=$(AndroidNdkApiLevel_X86_64)" />
+ <_XACommonPropsCacheLines Include="AndroidNdkApiLevel_X86=$(AndroidNdkApiLevel_X86)" />
+ <_XACommonPropsCacheLines Include="XAVersionCommitCount=$(XAVersionCommitCount)" />
+ <_XACommonPropsCacheLines Include="ProductVersion=$(ProductVersion)" />
+ <_XACommonPropsCacheLines Include="XABuildToolsFolder=$(XABuildToolsFolder)" />
+ <_XACommonPropsCacheLines Include="XAPlatformToolsVersion=$(XAPlatformToolsVersion)" />
+ <_XACommonPropsCacheLines Include="AndroidLatestStablePlatformId=$(AndroidLatestStablePlatformId)" />
+ <_XACommonPropsCacheLines Include="_BuildInfo_SqliteCommit=$(_BuildInfo_SqliteCommit)" />
+
+
+
+
+
+
+
25 9B742D34590FE73FB7229E34835ECFFB1846CA389D9F924F0B2A37DE525DC6B8
<_PlatformPackage Include="platform-26_r02"> 26 2AAFA7D19C5E9C4B643EE6ADE3D85EF89DC2F79E8383EFDB9BAF7FDDAD74B52A
<_PlatformPackage Include="platform-27_r03"> 27 020C4C090BC82CE87EBAAE5D1A922E21B39A1D03C78FFA43F0C3E42FC7D28169
- <_PlatformPackage Include="platform-28_r04"> 28 967F8CA99B71D337AA9C7781F9D65DD8110BF5C4746F44304047BF71B20D0DED
- <_PlatformPackage Include="platform-29_r01"> 29 2C9E961858E03900FFA0801A4F6234AA7223363B629FD8E1BE60DA9AA09D86BD
- <_PlatformPackage Include="platform-30_r01"> 30 337B1B0E202A02F90DA2E719305F157FCCDA215C760F5B8F7121ACEDCA44942B
+ <_PlatformPackage Include="platform-28_r06"> 28 8452DBBF9668A428ABB243C4F02A943B7AA83AF3CCA627629A15C4C09F28E7BD
+ <_PlatformPackage Include="platform-29_r05"> 29 951DA8BF175254DA74626824F919BD28DEF64F8828F29DD3B124A535CF4049D8
+ <_PlatformPackage Include="platform-30_r03"> 30 F3F5B75744DBF6EE6ED3E8174A71E513BFEE502D0BC3463EA97E517BFF68D84E
<_PlatformPackage Include="platform-31_r01"> 31 1D69FE1D7F9788D82FF3A374FAF4F6CCC9D1D372AA84A86B5BCFB517523B0B3F
<_PlatformPackage Include="platform-32_r01"> 32 01D8DA1C900E70FCF5DA39767D5444E39928935B1A5927055CE749FC348CA7AE
- <_PlatformPackage Include="platform-33-ext3_r03"> 33 B32B10F787867987F03AE8E101D217E053A9065B7136379FB353B388379AED1D
- <_PlatformPackage Include="platform-34-ext7_r02"> 34 5323311CC3E4AD614F0B8053C72B651726F3422448CEDD39E48F00737CDA8AD0
- <_PlatformPackage Include="platform-35_r02"> 35 0988CACAD01B38A18A47BAC14A0695F246BC76C1B06C0EEB8EB0DC825AB0C8E0
- <_PlatformPackage Include="platform-36_r02"> 36 37607369A28C5B640B3A7998868D45898EBCB777565A0E85F9ACF36F29631D2E
+ <_PlatformPackage Include="platform-33-ext5_r01"> 33 3D6189A18D0CEBD4E518B8728DE0E6B940D95C96B57316769DD56EE2D1708D10
+ <_PlatformPackage Include="platform-34-ext12_r01">34 B8349FF89D0BC40D26C712DCC5EB36EE60F40E203D7589BD4599B9237E98329A
+ <_PlatformPackage Include="platform-35-ext15_r01">35 A93712AEDD4F851D9CF1F7281F7C4FE5581CE03A9DF37FFC8C53A487EADF311F
+ <_PlatformPackage Include="platform-36-ext19_r01">36 55BD3620999428FF13097C982C9F0D40DE566D846F0BED153BF8D4E1491B90FF
<_PlatformPackage Include="platform-36.1_r01"> 36.1 265E9AA7D8DB6ABE7AD1696085D5D62784B341084C625DE46DB530970B1E806D
- <_PlatformPackage Include="platform-37.0_r01"> 37.0 true 19BDCF42DE0CB0E9500A27DA6833FC30CDD49A7EC690AA5CABAA0EF893AF9EBE
+ <_PlatformPackage Include="platform-37.0_r02"> 37.0 true 840B23E827F96E64AEA4C89A1194AAC3DC5F6BAD37EDB231C5C795D890330E8D
- <_AndroidSdkPackage Include="commandlinetools-mac-$(CommandLineToolsVersion).zip" Condition=" '$(HostOS)' == 'Darwin' ">
+
+ <_AndroidSdkPackage Include="commandlinetools-mac_x86_64-$(CommandLineToolsVersion).zip" Condition=" '$(HostOS)' == 'Darwin' and '$(_IsArm64Apple)' != 'true' ">
$(XACmdlineToolsHashMacOS)
$(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)
+ <_AndroidSdkPackage Include="commandlinetools-mac_arm64-$(CommandLineToolsVersion).zip" Condition=" '$(_IsArm64Apple)' == 'true' ">
+ $(XACmdlineToolsHashMacOSArm64)
+ $(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)
+
<_AndroidSdkPackage Include="commandlinetools-linux-$(CommandLineToolsVersion).zip" Condition=" '$(HostOS)' == 'Linux' ">
$(XACmdlineToolsHashLinux)
$(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)
@@ -238,9 +242,9 @@
$(XAAndroidDocsHash)
$(AndroidSdkFullPath)\docs
- <_AndroidSdkPackage Include="source-36_r01.zip">
+ <_AndroidSdkPackage Include="source-37.0_r02.zip">
$(XAAndroidSourcesHash)
- $(AndroidSdkFullPath)\sources\android-36
+ $(AndroidSdkFullPath)\sources\android-37