(续)上次批量安装的apk,现在要卸载这些程序,手动卸载在麻烦,于是写一dos脚本自动卸载:
批量安装地址:http://blog.csdn.net/lyhdream/article/details/14092351
在上次的批量安装的过程中生成了一个文件,里面包含了安装过的apk文件名,现在要通过读取这个文件的的文件名,一一卸载他们:
代码如下:
@echo off
for /F "delims=|" %%i in (filelist.txt) do (
rem echo %%i
aapt dump badging "%%i" | find "package" >> package.txt
)
for /f "tokens=1,2-4 delims='" %%i in (package.txt) do (
echo %%j
adb uninstall %%j
)
del package.txt
pause
(注意:aapt dump badging "%%i",中%%i要用双引号扩起来,避免变值中存在空格,导致读取到错误的字符串,windows cmd中遇到空格表示一个语义结束了)
步骤,建一个文件以 .bat为后缀(如:uninstall.bat),复制以上代码,一下是我的文件夹:
其中运行install.bat (install.bat里的内容在上面的地址里),apk就安装好了,并且生成了一个filelist.txt的文件,文件内容如下:
这时点击uninstall.bat,apk开始自动卸载,如下:
这样手机上安装的apk就自动卸载掉了。
-----------------------------------------------------------------------------------
这里的难点在于在使用 adb卸载应用程序的时候 不能使用 adb uninstall xxx.apk
而应使用 adb uninstall 包名
因此,在以上代码中我们通过:
aapt dump badging %%i | find "package" >> package.txt
这段代码来获取apk的包信息,并将其保存在文件中
参考地址:http://hi.baidu.com/zhangsai0624/item/1b64eb01b4ee03c82f4c6b72 (获取apk信息)
在获取到包信息之后要获取具体的包名,这里使用for命令(在dos中没有很好的处理字符串的机制):