今天,要調(diào)試adb shell input text ‘[input_text]’。
輸入中文時,進(jìn)程Killed了。原來adb input不支持中文。
因?yàn)閍scii里沒有中文,當(dāng)然除了中文其它非ACSII的編碼均會導(dǎo)致killed。
輾轉(zhuǎn)到網(wǎng)上搜了下,有個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
建議大家在遇到類似問題時,如果可以編譯打印log固然可以看清楚。
如果不行,先換adb版本試試
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。