版權聲明:本文章原創於 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