android - 使用 adb 卸载多个 android 包

标签 android bash shell adb

<分区>

我正在尝试使用带有 adb uninstall 的 bash 脚本来卸载多个包。

理论上以下脚本应该可以工作:

adb shell pm list packages com.your.app |
cut -d ':' -f 2 | while read line ; do
  adb uninstall --verbose $line
done

adb shell pm list packages com.your.app |
cut -d ':' -f 2 |
xargs -L1 -t adb uninstall

出现以下错误

Failure [DELETE_FAILED_INTERNAL_ERROR]

我还发现问题在于 adb 命令没有采用管道参数或来自 shell 变量的参数。例如下面的命令也是

echo com.your.app | adb uninstall

这也会给出同样的错误。

我已经看了delete packages of domain by adb shell pm

最佳答案

\r 被添加到第一个命令的输出中。我们可以使用 tr -d '\r' 来删除这些字符。

adb shell pm list packages com.your.app |
cut -d ':' -f 2 |
tr -d '\r' |
xargs -L1 -t adb uninstall

Echo outputting results in erratic order in BASH 中找到了解决方案

关于android - 使用 adb 卸载多个 android 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44973594/

相关文章:

android - 从恢复模式备份 android 到 ubuntu

linux - Bash:尝试打开文件时权限被拒绝

bash - 使用 cURL 登录

shell - 检查文件是否是 Linux 上的链接

java - 更新 Android Studio 后链接引用资源和重复值失败

android - 如何在 map 中心的谷歌地图中获取位置(经纬度/名称)

php - 如何制作json api

bash - Perl Pack 在 Shell 变量上解压

linux - 从文本文件 shell 脚本中删除 "empty"行

linux - bash 脚本中双引号的意外行为