2017-07-07 97 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