今天,要調試adb shell input text ‘[input_text]’。
輸入中文時,進程Killed了。原來adb input不支持中文。
由於ascii裏沒有中文,固然除了中文其它非ACSII的編碼均會致使killed。git
展轉到網上搜了下,有個https://github.com/senzhk/ADBKeyBoard 寫的apk可經過監聽廣播將中文傳入。
其實,就是經過unicode轉碼,來實現中文輸入的需求。(只要到了app應用層,各類編碼都是通途)github
可是下載了adbKeyboard按說明輸入了
adb shell am broadcast -a ADB_INPUT_TEXT --es msg '中‘
輸出是 ,我暈了shell
ADBKeyboard中文亂碼
冷靜下來,思考應該是編碼出了問題。
經過下載源碼後,打印二進制值,纔看到輸出編碼不同。app
後來更換adb後,竟然通了。
下面是能夠使用的adb版本
Android Debug Bridge version 1.0.39ide
輸出亂碼的adb版本
Android Debug Bridge version 1.0.32編碼
建議你們在遇到相似問題時,若是能夠編譯打印log當然能夠看清楚。
若是不行,先換adb版本試試調試