bat - 通过adb批量安装apk脚本

来源:互联网 发布:程序员应该读的书籍 编辑:程序博客网 时间:2024/06/05 20:44

bat - 通过adb批量安装apk脚本


此博客原创于: http://blog.csdn.net/lys211

转载请保留标识。


项目需要,需要批量安装apk到手机中,大概100个... 于是弄了个脚本来代劳。同时考虑到直接用adb输入命令来安装的,会比较麻烦,于是继续完善脚本。
终于有了下面这个初始版本,经实践,完全可用。省事省心。


@echo offsetlocal EnableDelayedExpansioncolor 0becho ...set currentPath=%cd%for /f "tokens=*" %%a in ('time/t') do set now=%%aset ymd=%date:~0,4%%date:~5,2%%date:~8,2%set hms=%now:~0,2%%now:~3%%time:~6,2%if "%ymd%" equ "" ( set ymd=00 )if "%ymd%" equ "" ( set hms=00 )set StartTime=%ymd%_%hms%echo %StartTime%:StartScreenrem echo 等待您插入手机adb wait-for-deviceecho.echo.--------------------------------------------------------echo.             -     选择类型    -echo.             x  -  退出脚本echo.             i  -  安装所有应用echo.             拖入一个APK文件也可以echo.             输入apk所在的文件夹亦可echo.--------------------------------------------------------echo.set SelectId=set /p SelectId=输入:if "%SelectId%" equ "" ( set SelectId=0&  goto startGetInfo )if /i "%SelectId%"=="x" ( goto :eof )if /i "%SelectId%"=="i" ( goto installApks )echo %selectId%|findstr /c:".apk" && ( echo 拖入了一个APK文件 & goto dragAction )dir /ad %selectId% >nul 2>nul && (echo 有效的文件夹路径,开始安装文件夹 %selectId% 下的apk文件 & goto newApksPath ) || (echo 路径无效,请重新选择 & goto StartScreen ) )goto StartScreenrem ============================================================================================:dragActionset ApksPath=%selectId%if exist %ApksPath%  (for %%i in ( "%ApksPath%" ) do ( set dragApk=%%~nxi & echo 即将开始安装apk:!dragApk!adb install "%ApksPath%"|findstr "^Failure*" && ( echo apk:!dragApk!安装失败 ) || ( echo 安装成功 )))goto StartScreenrem ============================================================================================:newApksPathecho 开始安装...set ApksPath=%selectId%if not exist "%ApksPath%\*.apk" ( echo 当前目录下无apk文件,请重新输入路径 & goto StartScreen )set ErrorLogFileName=%ApksPath%\InstallApkErrorLog.txtset InstallApksLogFile=%ApksPath%\InstallApksLogFile.txtset InstallSuccessApksList=%ApksPath%\InstallSuccessApksList.txtgoto startInstallApkrem ============================================================================================:installApksecho 开始安装...set ApksPath="<span style="color:#ff0000;">%currentPath%\apks</span>"set ErrorLogFileName=%ApksPath%\InstallApkErrorLog.txtset InstallApksLogFile=%ApksPath%\InstallApksLogFile.txtset InstallSuccessApksList=%ApksPath%\InstallSuccessApksList.txt:startInstallApkecho 安装中...set /a var=1set installFlag=0for /f "delims=" %%i in ('dir/b/a-d %ApksPath%\*.apk') do (echo 正在安装第 !var! 个应用: %%iset installFlag=successadb install "%ApksPath%\%%i"|findstr "^Failure*" && ( set installFlag=faild& echo 第!var!个apk:%%i 安装失败 >> %ErrorLogFileName% ) || (echo 安装成功for /f "delims=" %%a in ( 'aapt d badging "%ApksPath%\%%i"^|findstr "package: "') do (echo %%afor /f "delims=' tokens=2" %%b in ( "%%a" ) do (echo %%b>>%InstallSuccessApksList%rem 安装成功的应用导入文件中))))set /a var+=1echo !installFlag!_%%i>>%InstallApksLogFile%)echo 完成goto StartScreen

将脚本中红色的部分
set ApksPath="%currentPath%\apks"
修改为需要安装的应用所存放的路径,一般在当前脚本存放目录下新建一个文件夹apks,然后将需要安装的apk放到apks文件夹下即可。


又或者打开脚本后,根据提示将需要安装的apk的绝对路径复制输入,然后回车,就会开始安装给定路径下的apk文件。


只安装单个文件时,直接用鼠标拖入apk文件到脚本再回车即可开始安装。


一切的前提是,你的手机已经打开开发者模式并且已经连接。

0 0
原创粉丝点击