ADB版本過低導致ADBKeyboard中文輸入亂碼

今天,要調試adb shell input text ‘[input_text]’。
輸入中文時,進程Killed了。原來adb input不支持中文。
因爲ascii裏沒有中文,當然除了中文其它非ACSII的編碼均會導致killed。

輾轉到網上搜了下,有個https://github.com/senzhk/ADBKeyBoard 寫的apk可通過監聽廣播將中文傳入。
其實,就是通過unicode轉碼,來實現中文輸入的需求。(只要到了app應用層,各種編碼都是通途)

但是下載了adbKeyboard按說明輸入了
adb shell am broadcast -a ADB_INPUT_TEXT --es msg '中‘
輸出是 ֐,我暈了

ADBKeyboard中文亂碼
冷靜下來,思考應該是編碼出了問題。
通過下載源碼後,打印二進制值,纔看到輸出編碼不一樣。

後來更換adb後,居然通了。
下面是可以使用的adb版本
Android Debug Bridge version 1.0.39

輸出亂碼的adb版本
Android Debug Bridge version 1.0.32

建議大家在遇到類似問題時,如果可以編譯打印log固然可以看清楚。
如果不行,先換adb版本試試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章