今天,要调试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版本试试
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款