#!/bin/sh
#This file is batch uninstall app of android app
PARAMS=$#
# |grep $1 awk -F '=' '{print $2}'`
if [ "$PARAMS" -lt 1 ] ; then
APP_INFORMS="`pm list packages -f`"
APP_PACKAGES="`pm list packages -f | awk -F '=' '{print $2}'`"
app_count="`pm list packages -f | wc -l`"
elif [ "$PARAMS" -gt 1 ] ; then
#the params count only be one
echo "params count just have one."
exit 1
else
APP_INFORMS="`pm list packages -f |grep $1 `"
APP_PACKAGES="`pm list packages -f |grep $1 | awk -F '=' '{print $2}'`"
app_count="`pm list packages -f |grep $1 | wc -l`"
fi
if [ "$app_count" -gt 0 ] ;then
echo "--------------------"
echo "$APP_INFORMS"
echo "--------------------"
echo -n "Have $app_count be found, $Are you sure uninstall all of this apps? y/n:"
read confirm
if [ $confirm = "y" ] || [ $confirm = "Y" ] ;then
for i in $APP_PACKAGES ; do
#print items
echo "pm uninstall $i `pm uninstall $i`"
done
else
echo "Do not excute pm uninstall command."
fi
else
echo "--------------------"
echo "No app find."
echo "--------------------"
fi
exit 0
【注意】本工具只能删除 /data/data下的应用!即 预装的软件不能卸载!因为权限不足!
1、实现原理:
使用linux sh脚本 调用系统自带卸载 命令pm,实现批量卸载!即 pm uninstall com.xxx.xx的 多次执行!
2、使用:
1.把脚本 push到 手机上,如 adb push C:\Users\ajax\Desktop\pm_uninstall_batch.sh /cache
2.执行 到改脚本目录;
进入手机linux 系统 adb shell
到脚本目录 cd /cache
执行脚本 sh pm_uninstall_batch.sh [要过滤的关键字,如 com.lcw.test] 参数可选,如果不带参数则列出所有app,带参数为包名 过滤的关键字;
如我想卸载以com.test.xx.xxx的应用,执行sh pm_uninstall_batch.sh com.test即可;
3.确认是否要删除;
【注意】看是否有误删的!
输入y或者Y,表示删除; 输入其他则不删除!