首页 下载说明 正文

adbkeyboard是什么东西?原来是这样连接手机键盘的!

我当时就是琢磨着,手上正好有个老手机,想着能不能搞点什么自动化测试之类的活儿。你懂的,有些APP你得反复输东西,手指头戳来戳去真的累。尤其是一些中文输入,那叫一个麻烦,有时候还得来回切换输入法,或者在联想词里翻半天。我就想着,电脑这么好用,能不能直接用电脑键盘给手机打字?

本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu

我瞎折腾,想着ADB肯定能干点网上搜了搜,找到了个 adb shell input text 的命令。看起来不错,敲进去一串英文,手机上还真就出现了。当时我还挺高兴的,觉得找到了宝,以为这回肯定能把事情搞定。心想这下可方便了,以后再也不用在小小的手机屏幕上戳来戳去了,直接在电脑上一敲,搞定。

结果?遇到中文就傻眼了。输入拼音是没问题,但是选字那一步,它搞不定。光能输拼音有啥用?我总不能每次都选第一个字?如果输入的是“北京”,它可能给我打出来个“杯惊”或者别的什么奇奇怪怪的字,根本不是我想要的。当时那个气,好不容易有点进展,又卡住了。感觉就像是看到了一扇门,结果门把手是焊死的,就是进不去。明明感觉就差那么一点点,但就是过不去这道坎。

然后我就继续深挖,心想这不对劲,肯定有更高级的玩法。不可能只有这么一个笨办法。后来在一个犄角旮旯的论坛里,看到有人提了一嘴“adbkeyboard”这玩意儿。当时就好奇了,这是一个键盘?跟ADB有啥关系?听名字就觉得有点意思,感觉它能解决我当时那个中文输入选字的问题。

发现“adbkeyboard”真面目

我当时立马就去搜“adbkeyboard”。搜出来的东西还真不少,发现它不是个真实的键盘硬件,而是一个小工具。说白了,它就是利用ADB机制,帮你把电脑上的输入直接“灌”到手机里,就好像手机自己弹了个虚拟键盘在帮你打字一样。它跟那种普通的“adb shell input text”不一样,这个“adbkeyboard”是在手机里安装了一个特殊的输入法(IME),然后通过ADB把电脑上的按键事件传过去,再让手机上这个特殊的输入法来处理。有点像模拟输入,但是更高级,因为它能完整模拟键盘的输入流程,包括中文的拼音输入和选字。

搞清楚原理之后,我就开始动手了。嘛老规矩,手机得把开发者选项和USB调试打开。这个步骤,估计各位老鸟都熟得不能再熟了。如果你是第一次搞,那得去手机的“关于手机”里,猛戳几下“版本号”,就能激活开发者选项了。接着就是电脑这边,得把ADB环境搭我电脑上之前就弄过了,直接就能用,不然你得去下载ADB工具包,解压到个地方,然后设置一下环境变量,这些网上教程一大把,我就不细说了。

我的实际操作过程

  • 第一步:搞定ADB环境和手机调试

    确认电脑能用ADB命令,手机USB调试也开着,并且用数据线连上了电脑。在电脑命令行里敲个 adb devices,看到设备ID在那就行,确保手机是连上且能被识别的。

  • 第二步:找到并下载“adbkeyboard”工具

    我记得当时是在GitHub上找到的,它是一个 的文件。当然也有别的版本,比如Python写的脚本。我当时就下载了那个jar包,因为它跑起来方便,Java环境我电脑上本来就有。下载完了就把这个jar包放到一个你方便找到的地方。

  • 第三步:把“adbkeyboard”输入法装到手机里

    这不是直接把jar包扔进去那么简单,那个jar包是电脑上用的。手机上需要安装它的配套输入法APP。通常这个jar包的发布者会提供一个APK文件,就是那个“ADB Keyboard”的输入法应用。我就是用 adb install * 命令,把那个APK文件推到手机里并安装。安装成功后,手机里就会多一个叫“ADB Keyboard”的输入法选项。

  • 第四步:启动手机上的“ADB Keyboard”服务

    输入法装了,还得让它跑起来。我在电脑命令行里,用类似 adb shell ime set */.AdbIME 的命令(具体包名和类名可能要看你下载的版本),把手机的当前输入法直接切换成“ADB Keyboard”。这时候,你手机屏幕上可能会有提示,或者你得自己去手机的设置里,找到“语言与输入法”之类的选项,把默认输入法手动切换成“ADB Keyboard”。看到手机当前输入法变成“ADB Keyboard”了,那就算是准备妥当了。

  • 第五步:见证奇迹的时刻!

    一切准备就绪后,我在电脑上打开另一个命令行窗口(或者用同一个窗口,保证前一个命令已经执行完了),然后进入到我放 的那个目录。我就在命令行里输入 java -jar *,回车。这时候,这个程序就开始监听我的输入了。我再在电脑的命令行里敲入我想要手机输入的内容,比如“你世界!今天天气真”,回车一按,手机屏幕上,那个文本框里,“你世界!今天天气真”就那么自动出现了!而且连中文的选字过程都给我模拟好了,根本不用我操心!我当时都惊呆了,这感觉,简直不要太爽!

你问我这个有啥用?那可太多了!你要是做自动化测试,需要批量输入数据;或者有时候手机键盘不好使,或者只想用电脑的物理键盘打字,这个就派上大用场了。尤其是那些需要输入大量中文的场景,简直是救星。它不像 input text 那样只管输,它真的像一个键盘一样,把按键一个一个帮你敲进去,连选字都能搞定,这才是它最牛的地方。

后来我就用这玩意儿,把之前那个自动化小任务给顺利跑通了。省了多少手工输入的时间,那效率,蹭蹭地往上涨。以前觉得很麻烦的重复操作,现在轻轻松松就搞定了。当时我就想,要是早点知道这东西,能省多少力气。从那以后,凡是需要给手机批量输点东西,我第一个就想起这个adbkeyboard,简直是神器。