ADBKeyBoard.apk手機版是一個手機上編程輸入輔助虛擬鍵盤,接收來自系統(tǒng)廣播意圖的命令,您可以使用adb發(fā)送文本輸入。配合ADBKeyBoard.apk使用,完美解決adb中文輸入。
使用說明
adb shell am broadcast -a ADB_INPUT_TEXT --es msg "中文輸入法"
ADB版本過低導(dǎo)致ADBKeyboard中文輸入亂碼
今天,要調(diào)試adb shell input text ‘[input_text]’。
輸入中文時,進程Killed了。原來adb input不支持中文。
因為ascii里沒有中文,當(dāng)然除了中文其它非ACSII的編碼均會導(dǎo)致killed。
輾轉(zhuǎn)到網(wǎng)上搜了下,有個https://github.com/senzhk/ADBKeyBoard 寫的apk可通過監(jiān)聽廣播將中文傳入。
其實,就是通過unicode轉(zhuǎn)碼,來實現(xiàn)中文輸入的需求。(只要到了app應(yīng)用層,各種編碼都是通途)
但是下載了adbKeyboard按說明輸入了
adb shell am broadcast -a ADB_INPUT_TEXT --es msg '中‘
輸出是 ,我暈了
ADBKeyboard中文亂碼
冷靜下來,思考應(yīng)該是編碼出了問題。
通過下載源碼后,打印二進制值,才看到輸出編碼不一樣。
后來更換adb后,居然通了。
下面是可以使用的adb版本
Android Debug Bridge version 1.0.39
輸出亂碼的adb版本
Android Debug Bridge version 1.0.32
建議大家在遇到類似問題時,如果可以編譯打印log固然可以看清楚。
如果不行,先換adb版本試試
中文名:ADBKeyBoard
包名:com.android.adbkeyboard
MD5值:4cd7c4d4ad2f0ba38638a13c6889b408