整理一些比较常用到的Android批处理脚本(.bat 文件)
工作中需要频繁、大量的对Android终端进行各种操作,每次都敲adb命令实在是太糟心了,所以就将一些简单的命令写成了相对比较通用的批处理脚本,可以直接拿来用,省事啦~~
当然缺点就是 脚本用的时间久了,再用命令就有点生疏了……
下面几个脚本建议用的时候根据自己的实际情况进行修改
1. 获取系统信息 功能说明:读取手机信息存至文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 @ECHO OFF ECHO [等待插入手机...] adb wait-for-device ECHO [读取手机信息] ECHO ------------------------------- adb shell cat /system/build.prop>%~dp0\phone.info FOR /F "tokens=1,2 delims==" %%a in (phone.info) do ( IF %%a == ro.build.version.release SET androidOS=%%b IF %%a == ro.product.model SET model=%%b IF %%a == ro.product.brand SET brand=%%b IF %%a == ro.build.id SET id=%%b IF %%a == ro.product.cpu.abi SET cpu=%%b IF %%a == ro.board.platform SET platform=%%b IF %%a == ro.product.manufacturer SET manufacturer=%%b IF %%a == ro.build.version.sdk SET sdk=%%b ) del /a/f/q %~dp0\phone.info ECHO. ECHO.手 机 品 牌: %brand% ECHO.手 机 型 号: %model% ECHO.版 本 号: %id% ECHO.Android版本: Android %androidOS% ECHO.C P U 版 本: %cpu% ECHO.S D K 版 本: %sdk% ECHO.主 板 平 台: %platform% ECHO.制 造 商: %manufacturer% ECHO.------------------------------- ECHO.手 机 品 牌: %brand%>"%~dp0\result\Phone_%model%.txt" ECHO.手 机 型 号: %model%>>"%~dp0\result\Phone_%model%.txt" ECHO.版 本 号: %id%>>"%~dp0\result\Phone_%model%.txt" ECHO.Android版本: Android %androidOS%>>"%~dp0\result\Phone_%model%.txt" ECHO.CPU 版 本: %cpu%>>"%~dp0\result\Phone_%model%.txt" ECHO.SDK 版 本: %sdk%>>"%~dp0\result\Phone_%model%.txt" ECHO.主 板 平 台: %platform%>>"%~dp0\result\Phone_%model%.txt" ECHO.制 造 商: %manufacturer%>>"%~dp0\result\Phone_%model%.txt" ECHO [暂停15秒自动关闭...] ping -n 50 127.0.0.1>nul @ECHO ON
运行截图:
执行结果:执行之后会将读取到的结果以txt存储到该脚本所在目录下的result文件夹中,并以“Phone_ + 手机型号”命名
2. 终端截图 功能说明:将终端当前界面截图保存至电脑指定路径下
代码部分:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @ECHO OFF ECHO.[快速手机截屏] ECHO.------------------------------- ECHO.[Exce ] 手机截屏 adb shell screencap -p /sdcard/screen.png ECHO.[Tips ] 拷贝截屏图片至电脑 adb pull /sdcard/screen.png "%~dp0\ScreenShot\screen.png" ren ScreenShot\screen.png "%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.png" ECHO.[Tips] 未删除终端screen.png文件 ::adb shell rm /sdcard/screen.png (若需在截图后删除终端的图片文件,则) ECHO.[打开截图目录] explorer "%cd%\ScreenShot" ECHO [暂停3秒自动关闭...] ping -n 3 127.0.0.1>nul @ECHO ON
运行截图:
执行结果:运行过程与提示一致,之后会直接打开截图目录,目录为该脚本所在路径下的ScreenShot文件夹,文件名为截图时间
3. apk信息查看 功能说明:直接将apk拖动至bat文件上 即可查看apk文件的详细信息,如包名、版本、版本号等
代码部分:
1 2 3 4 5 6 7 8 @ECHO OFF ECHO [查看APK包信息] ECHO ------------------------------- ECHO aapt dump badging %~nx1 aapt dump badging %1 > %~dp0result\%~n1.txt ECHO [暂停3秒自动关闭...] %ping -n 3 127.0.0.1>nul @ECHO ON
执行结果:运行完成后,会将apk信息以txt的形式存储在本地,路径为该脚本所在路径下的result文件夹中。
以百度网盘apk为例:
第一行信息分别为apk包名、版本号、版本。下面还有其它的很多信息,需要的自行百度。
4. 安装/卸载/替换apk 功能说明:通过命令快速安装/卸载/替换apk
代码部分: 安装apk:
1 2 3 4 5 6 7 8 9 10 @ECHO OFF ECHO [安装APK] ECHO ------------------------------- ECHO [等待插入手机...] adb wait-for-device ECHO [安装] %~nx1 adb install -r %1 ECHO [暂停5秒自动关闭...] ping -n 5 127.0.0.1>nul @ECHO ON
卸载apk:(其实卸载还是直接在终端上操作比较快哈)
1 2 3 4 5 6 7 8 9 10 11 @ECHO OFF ECHO [卸载APK] ECHO ------------------------------- ECHO [等待插入手机...] adb wait-for-device ECHO [卸载] com.baidu.netdisk ::(apk包名,以百度网盘为例,获取方式参考上一个脚本) adb uninstall com.baidu.netdisk ECHO [暂停5秒自动关闭...] ping -n 5 127.0.0.1>nul @ECHO ON
替换apk:
替换时需要区分两种情况,一种是替换前版本较低,另一种是替换前版本较搞
当替换前版本低时,直接用install -r 命令安装即可;当替换前版本较高时,就需要先卸载旧版本,再安装新版本才行了,否则会报错,无法安装
1 2 3 4 5 6 7 8 9 10 11 12 13 @ECHO OFF ECHO [安装APK] ECHO ------------------------------- ECHO [等待插入手机...] adb wait-for-device ECHO [卸载] com.xigu.uct.ui ::(apk包名,以我测试用的apk为例,获取方式参考上一个脚本) adb uninstall com.xigu.uct.ui ECHO [安装] %~nx1 adb install -r %1 ECHO [暂停5秒自动关闭...] ping -n 5 127.0.0.1>nul @ECHO ON
执行结果:安装/替换时需要将apk文件拖动至脚本上,然后释放即可直接执行;卸载时修改apk包名后直接执行即可。
5. 导出日志 功能说明:快速导出终端缓存区日志
代码部分:
1 2 3 4 5 6 7 8 9 10 @ECHO OFF ECHO.[导出logcat日志] ECHO.------------------------------- adb logcat -d>"%~dp0\log\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log" ECHO. 导出完成! ECHO.[打开日志目录] explorer "%cd%\log" ECHO.[暂停3秒自动关闭...] ping -n 3 127.0.0.1>nul @ECHO ON
执行结果:缓存区日志会以txt格式存储在本地log文件夹中,以当前时间命名,且执行完成后会立即打开日志目录
暂时先写这么多,有新的再补充~
备忘一下:补充关于批处理脚本的一些代码说明。
例行撒花✿✿ヽ(°▽°)ノ✿