『壹』 求問 BAT腳本如何自動執行 adb shell 以後的命令
這是無法實現的。你無法在bat腳本中運行互動式shell命令,你的命令無法發送進入。
bat腳本運行時,是在CMD的環境下運行,它的命令解釋器是cmd。
而su在shell環境下執行的,它的命令解釋器是shell下的"/system/bin/sh"。
su是一條互動式的shell命令,它需要與shell環境下的用戶進行交互操作。
問題就在這里了,
bat腳本只負責將"shell su"作為參數傳遞執行一次adb.exe。
這個動作完成,這條命令的步驟就算結束了,
但此時su還有一個切換用戶身份的動作,如果有密碼還會通過shell請求用戶輸入密碼,
但運行bat的cmd環境是它收不到這個請求的。
解決辦法:
一. 將su命令之後需要執行的命令寫成一個sh腳本。
通過adb將sh腳本推入手機中,並為腳本添加可執行許可權
在bat中添加一條比方說這樣的命令
adb shell ". /path/to/your/file.sh"
二. 安裝superSU授權管理器
安裝superSU授權管理器後執行
adb root
授權,允許adb以root身份運行。
這之後你通過adb 發送的shell命令會以root身份執行。
『貳』 利用adb命令直接在電腦上給手機截圖並拉到電腦上
1、安裝adb(網上安裝教程一大堆),然後將電腦和手機連接,在cmd下運行命令adb devices,查看是否連接成功。
2、使用adb命令
(1)截圖命令:adb shell screencap -p /sdcard/screen.png
(2)拉取圖片到本地的命令:adb pull -p /sdcard/screen.png
3、為了方便,建議弄一個.bat的文件,這樣每次截圖一點就好了。
『叄』 adb shell命令在bat文件里怎麼繼續執行下一條命令啊
在批處理中通過adb來使用shell命令,
實際上是將需要執行的命令作為了"adb.exe"執行"shell"這個選項時的參數傳遞進去的,
要正確將整條命令完整的作為參數傳遞就對格式有嚴格的要求。
首先,執行dd命令需要root許可權,那麼需要切換用戶身份,需要執行su命令。
然後才有許可權進行dd操作。而不帶選項參數的su命令是互動式的,所以應該使用su -c 選項,
正確的寫法如下:
adb shell "su -c dd if='/sdcard/p1' of='/dev/block/mmcblk0p1'"
注意引號的使用。
『肆』 怎麼將android adb 命令寫成一個批處理文件
首先確保android-sdk 下tools目錄加入到環境變數中
如果沒有 也行!下面以android-sdk目錄為c:\\android-sdk-windows為例
@echo off
echo 正在復制文件,請稍等......
cd c:\android-sdk-windows\tools\ //如果該目錄以加到環境變數 這行就不用啦
adb push c:\1.png /sdcard/1.png
adb push c:\2.png /sdcard/2.png
echo 復制文件完成!
echo. & pause
將上面文件復制到 文本文件,修改擴展名 .bat 直接運行即可完成復制