dotnet / dotnet/android

Add Emulator runner (emulator CLI)

Open
#12,070 0 comments 0 reactions 0 assignees View on GitHub
android-tools needs-triage
Dominant language
C#
Stars
2.1k
Forks
579
Avg merge
1d 20h
Merged PRs (30d)
257

Description

## 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? additionalArgs = null);
Task WaitForBootAsync(string serial, TimeSpan timeout, CancellationToken ct = default);
Task> ListRunningEmulatorsAsync(CancellationToken ct = default);
}
`

## Consumer

- **MAUI DevTools CLI** (`maui android emulator start`) — see [MAUI DevTools Spec PR](https://github.com/dotnet/maui/pull/33865)
- VS/VS Code extensions for emulator management

## Related

- dotnet/android-tools#274 (AVD Manager wrapper)
- dotnet/android-tools#275 (ADB wrapper)
- MAUI DevTools spec §6.8: Shared Libraries & Code Reuse

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.