parseAapt2Badging function

Map<String, String> parseAapt2Badging(
  1. String output
)

Parses aapt2 dump badging output into {package, launchable-activity}.

Pure — unit-tested independently of the tool. Missing keys are simply absent from the map; callers decide whether that is fatal.

Implementation

Map<String, String> parseAapt2Badging(String output) {
  final out = <String, String>{};
  for (final line in output.split('\n')) {
    if (line.startsWith('package:')) {
      final m = RegExp("name='([^']+)'").firstMatch(line);
      if (m != null) out['package'] = m.group(1)!;
    }
    if (line.startsWith('launchable-activity:')) {
      final m = RegExp("name='([^']+)'").firstMatch(line);
      if (m != null) out['launchable-activity'] = m.group(1)!;
    }
  }
  return out;
}