Summary
Add EmulatorRunner class to Xamarin.Android.Tools.AndroidSdk to wrap emulator CLI operations for starting and managing Android emulators.
Background
The MAUI DevTools CLI and IDE extensions need to start emulators, wait for boot completion, and manage emulator lifecycle. This functionality should live in the shared android-tools package.
Proposed API Surface
csharp public class EmulatorRunner { Process StartEmulator(string avdName, IEnumerable<string>? additionalArgs = null); Task<bool> WaitForBootAsync(string serial, TimeSpan timeout, CancellationToken ct = default); Task<IReadOnlyList<string>> ListRunningEmulatorsAsync(CancellationToken ct = default); }
Consumer
- MAUI DevTools CLI (
maui android emulator start) — see MAUI DevTools Spec PR
- VS/VS Code extensions for emulator management
Related
Summary
Add
EmulatorRunnerclass toXamarin.Android.Tools.AndroidSdkto wrapemulatorCLI operations for starting and managing Android emulators.Background
The MAUI DevTools CLI and IDE extensions need to start emulators, wait for boot completion, and manage emulator lifecycle. This functionality should live in the shared
android-toolspackage.Proposed API Surface
csharp public class EmulatorRunner { Process StartEmulator(string avdName, IEnumerable<string>? additionalArgs = null); Task<bool> WaitForBootAsync(string serial, TimeSpan timeout, CancellationToken ct = default); Task<IReadOnlyList<string>> ListRunningEmulatorsAsync(CancellationToken ct = default); }Consumer
maui android emulator start) — see MAUI DevTools Spec PRRelated