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
roption will prevent xargs from running the command if there are no third party apps installedn1option is to pass one result value as argument at a time to the commandtis 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