Skip to content

[AndroidSdk] Avoid warnings for emulator diagnostics - #12606

Open
jonathanpeppers wants to merge 1 commit into
dotnet:mainfrom
jonathanpeppers:jonathanpeppers-fix-emulator-stderr-warnings
Open

[AndroidSdk] Avoid warnings for emulator diagnostics#12606
jonathanpeppers wants to merge 1 commit into
dotnet:mainfrom
jonathanpeppers:jonathanpeppers-fix-emulator-stderr-warnings

Conversation

@jonathanpeppers

@jonathanpeppers jonathanpeppers commented Aug 31, 2026

Copy link
Copy Markdown
Member

Context

The Android emulator writes informational netsimd startup diagnostics to stderr. EmulatorRunner classified every stderr line as an MSBuild warning, causing a successful test run to report 35 warnings:

Original CLI output
> dotnet test -f net11.0-android
csproj (0.2s)
 mauitest net11.0-android succeeded with 35 warning(s) (7.8s)
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] netsimd I 08-31 19:21:25.029 external/netsim+/rust/daemon/src\rust_main.rs:93 - netsim artifacts path: "D:\\temp\\netsimd"
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] netsimd I 08-31 19:21:25.029 external/netsim+/rust/daemon/src\rust_main.rs:96 - NetsimdArgs {
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] fd_startup_str: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] no_cli_ui: true,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] no_web_ui: true,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] pcap: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] disable_address_reuse: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] hci_port: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] connector_instance: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] instance: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] logtostderr: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] dev: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] forward_host_mdns: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] vsock: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] config: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] host_dns: Some(
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] "192.168.1.254",
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] ),
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] http_proxy: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] wifi_tap: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] wifi: None,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] test_beacons: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] no_test_beacons: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] no_shutdown: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] verbose: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] version: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] debug: DebugArgs {
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] debug_no_traffic: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] debug_no_network: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] debug_no_wmedium: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] debug_no_mdns_wmedium: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] debug_no_guest_to_host_mdns: false,
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] },
 D:\dotnet-sdk-11.0.100-rc.1.26425.128-win-x64\packs\Microsoft.Android.Sdk.Windows\37.0.0-rc.1.2253\targets\Microsoft.Android.Sdk.Application.targets(79,5): warning [emulator] rssi: None,
Running tests from bin\Debug\net11.0-android\mauitest.dll (net11.0|x64)
bin\Debug\net11.0-android\mauitest.dll (net11.0|x64) passed [✓1/x0/↓0] (1s 887ms)

Test run summary: Passed!
 total: 1
 failed: 0
 succeeded: 1
 skipped: 0
 duration: 2s 011ms

Fix

Log redirected emulator stderr at TraceLevel.Verbose instead of TraceLevel.Warning. Actual launch and boot failures remain reported through the existing boot result handling.

  • Useful description of why the change is necessary
  • Links to issues fixed: N/A
  • Unit tests: existing Android SDK tools test suite passes

The Android emulator writes informational netsimd startup messages to stderr.  EmulatorRunner classified every stderr line as a warning, so a successful dotnet test could report dozens of warnings.

Log stderr at verbose level instead.  Actual emulator launch and boot failures continue to be reported by the boot result handling.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 282fdada-3869-4e70-b4be-b0b7037cd5db
Copilot AI lite review requested due to automatic review settings August 31, 2026 19:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR adjusts logging in the Android SDK EmulatorRunner to avoid treating informational emulator stderr diagnostics (notably netsimd startup output) as MSBuild warnings, reducing warning noise during otherwise-successful test runs.

Changes:

  • Demote emulator stderr forwarding from TraceLevel.Warning to TraceLevel.Verbose in EmulatorRunner.LaunchEmulator().
File summaries
File Description
src/Xamarin.Android.Tools.AndroidSdk/Runners/EmulatorRunner.cs Changes emulator stderr forwarding from warning-level to verbose-level to avoid warning spam in MSBuild output.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment thread src/Xamarin.Android.Tools.AndroidSdk/Runners/EmulatorRunner.cs
@jonathanpeppers jonathanpeppers added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants