bestForAndroid method
Determines the best installation method for Android.
The to parameter is the installation target.
Implementation
Future<String> bestForAndroid({String to = 'install'}) async {
final methods = package.methods ?? [];
final hasMethod = methods.contains('termux');
final defaults = package.defaults ?? [];
final hasDefault = defaults.contains('termux');
if (hasMethod || hasDefault) {
final pkg = await Executable('pkg').find(); // termux
if (pkg != null) {
Global.updateCommand = '${Global.sudoPath} $pkg update || $errorOnUpdate';
if (hasDefault) {
return '${Global.sudoPath} $pkg $to -y ${package.name}';
}
return '${to}_android "${Global.sudoPath} $pkg -y"';
}
}
stopIfForcedMethodNotFound();
return await bestForAny(to: to);
}