您好,登錄后才能下訂單哦!
今天,要調(diào)試adb shell input text ‘[input_text]’。
輸入中文時(shí),進(jìn)程Killed了。原來adb input不支持中文。
因?yàn)閍scii里沒有中文,當(dāng)然除了中文其它非ACSII的編碼均會(huì)導(dǎo)致killed。
輾轉(zhuǎn)到網(wǎng)上搜了下,有個(gè)https://github.com/senzhk/ADBKeyBoard 寫的apk可通過監(jiān)聽廣播將中文傳入。
其實(shí),就是通過unicode轉(zhuǎn)碼,來實(shí)現(xiàn)中文輸入的需求。(只要到了app應(yīng)用層,各種編碼都是通途)
但是下載了adbKeyboard按說明輸入了
adb shell am broadcast -a ADB_INPUT_TEXT --es msg '中‘
輸出是 ?,我暈了
ADBKeyboard中文亂碼
冷靜下來,思考應(yīng)該是編碼出了問題。
通過下載源碼后,打印二進(jìn)制值,才看到輸出編碼不一樣。
后來更換adb后,居然通了。
下面是可以使用的adb版本
Android Debug Bridge version 1.0.39
輸出亂碼的adb版本
Android Debug Bridge version 1.0.32
建議大家在遇到類似問題時(shí),如果可以編譯打印log固然可以看清楚。
如果不行,先換adb版本試試
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。