I am trying to create a script that will retrieve and uninstall all user apps in one batch operation through adb
. Does anyone know how I would be able to do this?
I can currently list out all 3rd party apps through
adb shell pm list packages -3
Could I somehow direct the list of packages this generates into an uninstall command in adb
?
Try:
adb shell pm list packages -3 | cut -d':' -f2 | tr '\r' ' ' | xargs -r -n1 -t adb uninstall
- First part is to get 3rd party app package names
- second part is to split package names using delimiter
:
- third part is to replace carriage return with space (sometimes it would be a problem in linux machines. Try removing this part and check if you face it)
- and the last one is for uninstalling one by one
r
option will prevent xargs from running the command if there are no third party apps installedn1
option is to pass one result value as argument at a time to the commandt
is for printing the command being executed)
Hope it helps!!!
What seems to be the problem? It can be done with this one-liner:
adb shell "pm list packages -3 | cut -c9- | xargs pm uninstall"
来源:https://stackoverflow.com/questions/18243766/how-can-i-use-adb-to-uninstall-all-3rd-party-user-apps