listAllPackages static method
Implementation
static Future<List<String>> listAllPackages(
{String? serialno,
required String cmd,
bool third = true,
bool sort = true}) async {
final result = await Process.run(
cmd,
[
'shell',
if (serialno != null) '-s',
if (serialno != null) serialno,
'pm',
'list',
'packages',
if (third) '-3'
],
runInShell: true);
if (result.exitCode == Ok) {
//package:com.example.example
//package:com.miui.userguide
//package:com.xiaomi.mibrain.speech
final List<String> r = <String>[];
String packageString = result.stdout as String;
final packagesList = packageString.split('\n');
for (var packageName in packagesList) {
if (packageName.contains('package')) {
r.add(packageName.split(':')[1]);
}
}
if (sort) {
r.sort();
}
return r;
// packages
} else {
return [];
}
}