版权声明:本文章原创于 RamboPan ,未经允许,请勿转载。
最近碰到一个情况,就是需要在一个 Android 设备上安装很多应用,大家开发 Android 的都知道使用 adb install 来执行 Apk 的安装。
如果只安装一两个的话也没有问题,但是数量一多;或者你要连续在几个设备安装,肯定还是麻烦 … 毕竟这种机械性的行为能自动化绝对不手动,懒才是科技进步的动力哈。
自上次使用了 Shell 模拟触摸来测试小游戏之后,这次又想到了使用 Shell 来做,我们本来就是批量执行命令而已。这次还是 Mac 的系统,Linux 的操作系统应该也能执行,后面会贴出 WIndows 下的代码。
简单说下我们目标:把所有要装的 Apk 丢在一个文件夹中,然后再里面放入了一个脚本文件,执行该脚本的时候,自动搜索该目录下所有 .apk 文件并尝试安装。(此处暂时没有考虑递归搜索),因为代码量也不大,配上简单注释,简单看两眼就基本懂了。
先放一个效果图。
接下来是代码部分。
#!/bin/bash
#adb install cmd
install="adb install -r "
#app file
target=".apk"
#enter shell folder
basefolder=`dirname $0`
cd $basefolder
#list all file
for file in $(ls)
do
# find fileName contain target and install it.
result=$(echo $file | fgrep "${target}")
if [[ "$result" != "" ]]
then
$install $file
fi
done
因为 Mac 下执行 .sh 文件可能出现权限问题,如下图。
此时在命令行中使用 chmod 777 对需要执行的 .sh 文件赋予权限,然后再执行就没有问题了。我新建 .sh 中并加了一个简单的文字输出,并赋予权限再执行,如下图。
此处贴一个 Windows 下的代码,这样大家只需要新建两个脚本文件,然后放在 app 目录中在对应平台执行对应文件就可以了。
@echo off
for /f "delims=" %%i in ('dir /b /a-d /s .') do adb install -r %%~nxi