From f1064d6bfeb9eb0ede25809f641e45f132d18f11 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 13 Aug 2026 09:25:20 -0500 Subject: [PATCH 1/9] [build] Update stable Android SDK packages Update the Android SDK package catalog, versions, and SHA-256 hashes while retaining NDK r28c and Android platform 37.0. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 99896160-5e3c-4560-9ab4-026504cdd4e9 --- Configuration.props | 51 ++++++++++++++++--------------- src/androidsdk/androidsdk.targets | 26 +++++++++------- 2 files changed, 41 insertions(+), 36 deletions(-) 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/src/androidsdk/androidsdk.targets b/src/androidsdk/androidsdk.targets index 8e95e5a9899..7b16f8fa5ae 100644 --- a/src/androidsdk/androidsdk.targets +++ b/src/androidsdk/androidsdk.targets @@ -74,17 +74,17 @@ <_PlatformPackage Include="platform-25_r03"> 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.0 + <_AndroidSdkPackage Include="commandlinetools-mac_x86_64-$(CommandLineToolsVersion).zip" Condition=" '$(HostOS)' == 'Darwin' and '$(_IsArm64Apple)' != 'true' "> $(XACmdlineToolsHashMacOS) $(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder) @@ -244,7 +244,7 @@ <_AndroidSdkPackage Include="source-37.0_r02.zip"> $(XAAndroidSourcesHash) - $(AndroidSdkFullPath)\sources\android-37.0 + $(AndroidSdkFullPath)\sources\android-37 <_TempDirectory>$(IntermediateOutputPath).xa-workload-temp-$([System.IO.Path]::GetRandomFileName()) + <_LocalSdkPackProject>$(_TempDirectory)\local-sdk-pack.csproj <_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="--no-cache" /> <_InstallArguments Include="--skip-manifest-update" /> @@ -138,6 +148,17 @@ <_InstallArguments Include="--temp-dir "$(_TempDirectory)"" /> + + + Date: Fri, 14 Aug 2026 08:30:32 -0500 Subject: [PATCH 8/9] [build] Remove ineffective workload cache flag The deterministic fix is pre-seeding the isolated package directory from the current build. The workload install no-cache flag did not prevent same-version feed substitution and is unnecessary. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 99896160-5e3c-4560-9ab4-026504cdd4e9 --- build-tools/create-packs/Directory.Build.targets | 1 - 1 file changed, 1 deletion(-) diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 13c93b9cbf6..9fda861b8b8 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -140,7 +140,6 @@ <_LocalSdkPackProjectLines Include=" </ItemGroup>" /> <_LocalSdkPackProjectLines Include="</Project>" /> <_InstallArguments Include="android" /> - <_InstallArguments Include="--no-cache" /> <_InstallArguments Include="--skip-manifest-update" /> <_InstallArguments Include="--skip-sign-check" /> <_InstallArguments Include="--verbosity diag" /> From 16b2c9404ab6ee547a01199c0177550abd97dd6e Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Fri, 14 Aug 2026 12:04:57 -0500 Subject: [PATCH 9/9] [build] Isolate local SDK pack restore Disable repository Directory.Build imports when seeding the workload package cache so the temporary project does not restore Arcade dependencies from the local-only source. Use a platform-correct package directory path. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 99896160-5e3c-4560-9ab4-026504cdd4e9 --- build-tools/create-packs/Directory.Build.targets | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 9fda861b8b8..292ef10bc69 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -126,6 +126,7 @@ <_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('\'))" /> @@ -156,11 +157,11 @@ Encoding="UTF-8" />