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