Add AVD Manager wrapper (avdmanager CLI)
- Dominant language
- C#
- Stars
- 2.1k
- Forks
- 579
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 252
Description
## Summary
Add `AvdManagerRunner` class to `Xamarin.Android.Tools.AndroidSdk` to wrap `avdmanager` CLI operations for programmatic AVD management.
## Background
The MAUI DevTools CLI needs to create, delete, and list Android Virtual Devices. This functionality should live in the shared `android-tools` package so it can be reused by VS, VS Code extensions, and CLI tools.
Reference implementation exists in `android-platform-support` (internal) `Mono.AndroidTools.AvdManager`.
## Proposed API Surface
`csharp
public class AvdManagerRunner
{
Task> ListAvdsAsync(CancellationToken ct = default);
Task CreateAvdAsync(string name, string device, string systemImage, CancellationToken ct = default);
Task DeleteAvdAsync(string name, CancellationToken ct = default);
}
public record AvdInfo(string Name, string Device, string Path, string Target, string Abi);
`
## Consumer
- **MAUI DevTools CLI** (`maui android emulator create/delete/list`) — see [MAUI DevTools Spec PR](https://github.com/dotnet/maui/pull/33865)
## Related
- dotnet/android-tools#271 (SDK bootstrap)
- dotnet/android#12067 (License acceptance)
- 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.