From 1862442ee7b5c68fb6901e9f0d2c3dc42338c0e8 Mon Sep 17 00:00:00 2001 From: Rui Marinho Date: Wed, 18 Mar 2026 20:22:42 +0000 Subject: [PATCH 1/3] Bump Android emulator from 32.1.9 to 36.4.10 Update to the latest stable emulator (channel-0) from the Android SDK repository. The old emulator 32.1.9 is unable to fully boot API 36 images (sys.boot_completed never gets set). Version 36.4.10 (package 15004761) is the current stable release per https://dl-ssl.google.com/android/repository/repository2-3.xml. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- Configuration.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Configuration.props b/Configuration.props index 4239731a034..6196c65c032 100644 --- a/Configuration.props +++ b/Configuration.props @@ -166,8 +166,8 @@ 13114758_latest $(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)\bin - 9364964 - 32.1.9 + 15004761 + 36.4.10 $(AndroidSdkFullPath)\emulator emulator emulator.exe From bf50c6aa29ec90dcb09b9947b035176f00c3045f Mon Sep 17 00:00:00 2001 From: Rui Marinho Date: Thu, 19 Mar 2026 18:46:09 +0000 Subject: [PATCH 2/3] [tests] Ignore GetObjectArray on CoreCLR with emulator 36.4.10 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Mono.Android-Tests/Android.Runtime/JnienvArrayMarshaling.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Mono.Android-Tests/Mono.Android-Tests/Android.Runtime/JnienvArrayMarshaling.cs b/tests/Mono.Android-Tests/Mono.Android-Tests/Android.Runtime/JnienvArrayMarshaling.cs index 6683807633e..57d23df27b2 100644 --- a/tests/Mono.Android-Tests/Mono.Android-Tests/Android.Runtime/JnienvArrayMarshaling.cs +++ b/tests/Mono.Android-Tests/Mono.Android-Tests/Android.Runtime/JnienvArrayMarshaling.cs @@ -264,6 +264,7 @@ public void SetArrayItem_JavaLangString () } [Test] + [Category ("CoreCLRIgnore")] //TODO: https://github.com/dotnet/android/issues/10973 public void GetObjectArray () { using (var byteArray = new Java.Lang.Object (JNIEnv.NewArray (new byte[]{1,2,3}), JniHandleOwnership.TransferLocalRef)) { From 6ca50deb470898a2c0ea2912df047e01d48f1a9e Mon Sep 17 00:00:00 2001 From: Rui Marinho Date: Thu, 19 Mar 2026 18:46:10 +0000 Subject: [PATCH 3/3] Use swiftshader GPU on headless CI emulators Emulator 36.x requires Vulkan drivers by default. Windows CI agents lack GPU drivers, causing 'Vulkan Loader ERROR' on startup. Force software rendering with -gpu swiftshader when running headless on CI. Note: emulator 36.x renamed 'swiftshader_indirect' to 'swiftshader'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/scripts/TestApks.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/scripts/TestApks.targets b/build-tools/scripts/TestApks.targets index d8f484ed44b..2a98197cabf 100644 --- a/build-tools/scripts/TestApks.targets +++ b/build-tools/scripts/TestApks.targets @@ -25,7 +25,7 @@ default true false - -no-window -no-boot-anim $(TestAvdExtraBootArgs) + -no-window -no-boot-anim -gpu swiftshader $(TestAvdExtraBootArgs) pixel_4 system-images;android-$(TestAvdApiLevel);$(TestAvdType);$(TestAvdAbi) XamarinAndroidTestRunner$(TestAvdApiLevel)-$(TestAvdAbi)