赞
踩
工作中遇到的需求,要安装多个apk,所以就搜索资料资写了批量安装脚本,当然要安装就要卸载,顺便也写了个卸载脚本。
安装脚本内容:
@echo off
setlocal EnableDelayedExpansion
title install apks
color 0a
:: 重启adb 保证能顺利连接
adb kill-server
adb start-server
adb wait-for-device
set ApkPath=%cd%\apks
cd %ApkPath%
set count = 0
for /R %%s in (*.apk) do (
::要使用引号来包括apk的路径,不然adb install语法报错
set /a count +=1
echo 正在安装第 !count! 个apk:
adb install "%%s"
echo ------------------------------------------------
)
echo ***********安装完成***********
pause
卸载脚本内容:
@echo off
setlocal EnableDelayedExpansion
title uninstall apks
:: 重启adb 保证能顺利连接
adb kill-server
adb start-server
adb wait-for-device
set ApkPath=%cd%\apks
cd %ApkPath%
for /R %%s in (*.apk) do (
aapt dump badging %%s > %cd%\2.txt
findstr "package" %cd%\2.txt >> %cd%\1.txt
)
del %cd%\2.txt
:: 每行以空格为分割,获取第二个元素
for /f "tokens=2 delims= " %%s in (1.txt) do (
echo %%s >> 2.txt
)
del %cd%\1.txt
:: 每行以=号为分割,获取第二个元素,并且去除单引号’,获取最终的包名
for /f "tokens=2 delims==" %%s in (2.txt) do (
set s1=%%s
set s1=!s1:'=!
echo !s1! >> 3.txt
)
del %cd%\2.txt
for /f %%s in (3.txt) do (
adb uninstall %%s
)
del %cd%\3.txt
echo ***********卸载结束***********
pause
使用说明:
1、使用前提,安装了jdk和sdk,因为卸载的时候使用了aapt.exe,所以还需要把aapt.exe所在文件目录路径设为全局变量;
2、新建文本文档,分别添加上述两个脚本并保存,扩展名txt修改为bat;
3、把需要安装的apk放在apks文件夹下,安装和卸载时把apks文件夹分别拖拽到上述bat文件上即可【apk的名称不要含有中文字符,否则安装会报错Failure [INSTALL_FAILED_INVALID_URI]】。
4、脚本内容可根据自己的需求做修改。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。