listAvds function

Future<List<String>> listAvds()

Lists available AVDs by reading ~/.android/avd directory

Implementation

Future<List<String>> listAvds() async {
  final home = Platform.environment['HOME'] ?? '';
  final avdDir = Directory('$home/.android/avd');
  if (!await avdDir.exists()) return [];

  final avds = <String>[];

  await for (var entity in avdDir.list()) {
    if (entity is File && entity.path.endsWith('.ini')) {
      final name = entity.uri.pathSegments.last.replaceAll('.ini', '');
      avds.add(name);
    }
  }

  return avds;
}