使用adb卸载多个android软件包
我正在尝试使用带有adb卸载的bash脚本卸载多个软件包 理论上,以下脚本应该有效:使用adb卸载多个android软件包,android,bash,shell,adb,Android,Bash,Shell,Adb,我正在尝试使用带有adb卸载的bash脚本卸载多个软件包 理论上,以下脚本应该有效: adb shell pm list packages com.your.app | cut -d ':' -f 2 | while read line ; do adb uninstall --verbose $line done 或 我得到以下错误 失败[删除\失败\内部\错误] 我还发现问题在于adb命令没有使用管道参数或shell变量的参数。例如,下面的命令 echo com.your.app |
adb shell pm list packages com.your.app |
cut -d ':' -f 2 | while read line ; do
adb uninstall --verbose $line
done
或
我得到以下错误
失败[删除\失败\内部\错误]
我还发现问题在于adb命令没有使用管道参数或shell变量的参数。例如,下面的命令
echo com.your.app | adb uninstall
这也会产生同样的错误
我已经看过了\r被添加到第一个命令的输出中。我们可以使用
tr-d'\r'
删除这些字符
adb shell pm list packages com.your.app |
cut -d ':' -f 2 |
tr -d '\r' |
xargs -L1 -t adb uninstall
在中找到了解决方案符号表示法
'\r'
是不可移植的,尽管它在Linux上通常应与tr
一起使用。要获得可移植的表示法,请尝试'\015'
。
adb shell pm list packages com.your.app |
cut -d ':' -f 2 |
tr -d '\r' |
xargs -L1 -t adb uninstall