adb乱码 windows_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版本试试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.安装 打开模拟器,adb install ADBKeyBoard.apk安装该输入法 2.设置 模拟器的settings-----language&input;-----勾选上ADB keyboard如下图 默认输入法也选择ADB keyboard,还有一个也要设置,很奇怪,不设置该项就无法成功输入中文,我也是无意中发现的,那就是选择默认输入法的时候,hardware physical keyboard得off,默认是on,如下图 好了接下来试试 adb shell am broadcast -a ADB_INPUT_TEXT --es msg '中文输入' 命令比较长,无碍 成功!不止中文(包括中文标点),其他语言也可以,日文亲测也可用,其他的还没试 再教一招:如何切换输入法 看到上图中放大镜上面的那个小键盘没有,往下拉就可以选择了 有用请支持,有问题请留言 adbkeyboard 通过亚洲开发银行的虚拟键盘输入 adbkeyboard是一个虚拟的键盘,从系统广播意图接收命令,你可以使用adb发送文本输入。 有一个“命令”命令“输入”,可以帮助您将文本输入发送到安卓系统。 keyEvent |用法:输入[文本] 输入文本 输入keyEvent 但是你不能使用这个命令将Unicode字符,因为它是不适合使用这种方式。 参考:http://stackoverflow.com/questions/14224549/adb-shell-input-unicode-character 例如 adb shell输入文本的你好嗎” 是不打算工作。 ADBKeyboard将有助于在这些情况下,特别是在自动化测试设备。 构建和安装APK 有一个设备或模拟器连接,使用这些简单的步骤来安装键盘: 获得来源:git clone https://github.com/senzhk/adbkeyboard.git 进入项目目录CD adbkeyboard

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值