2017-07-07 60 views
-1

我想卸载多个包,使用adb卸载bash脚本。使用adb卸载多个android包

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

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

OR

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

我收到以下错误

失败[DELETE_FAILED_INTERNAL_ERROR]

我还发现问题是adb命令没有从shell变量中获取管道参数或参数。例如下面的命令也是

echo com.your.app | adb uninstall 

这也会给出同样的错误。

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

回答

0

\ 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