前言
对于一个Android开发人员,在工作中经常需要使用adb命令控制设备,但是有些adb命令,都是重复的指令,比如adb connect 192.168.1.112,链接一个IP是192.168.1.112的设备,但是每次这么敲,太麻烦了,而windows下是可以给shell 命令起别名的,所以需求来了,如何简化adb命令,本篇博客就描述如何修改windows下的cmd的命令别名,让adb命令更简单。
本篇博客包含的内容:
- Android常用的ADB命令。
- windows下的shell别名。
- 如何启动cmd的时候自动修改别名。
- 给ADB的常用命令起别名。
Android常用的ADB命令
Android下的ADB命令,详细的可以参见Google提供的文档,戳我查看文档。
常用命令:
adb connect #.#.#.# :连接ip为#.#.#.#的设备。
adb disconnect :断开所有连接的设备。
adb devices:查看当前连接的设备。
adb shell:进入设备的控制台。
adb start-server:开始adb服务。
adb kill-server:销毁adb服务。
adb install <APK_PATH> :安装<APK_PATH>指向的APK包到设备上。
adb uninstall <PACKAGE_NAME>:卸载<PACKAGE_NAME>的APP。
adb version:当前adb版本。
adb help:查看adb的帮助文档。
大概就这些比较常用的,这些命令有些只是针对单一连接设备,如果当前连接了多个设备,有些命令需要制定设备执行,使用-s <DEVICES> 区分。如:
这里首先连接了多个设备,使用adb devices命令查看,然后如果需要进入某个设备的shell,就使用-s指定设备来执行。
很多生僻的命令或者用法,需要用到的时候再去查询文档即可,这里不做多的介绍。
windows下的shell别名
使用过Linux都应该知道,在Linux下,可以使用alias命令给一些命令设定别名,如:
alias ll = ls -l
给ls -l起个别名叫ll。
那么在windows下,如给cmd的命令的别名呢?使用doskey命令。例如我们知道,在ls命令是Linux下查看当前目录情况的命令,但是在windows下是不存在的,windows使用的是dir命令,如下图:
可以看到,这里的当前路径下,只有一个cmd_autoexe.bat的文件。那么对于用习惯了Linux命令的开发人员,如何给dir起个别名呢?执行如下命令:
doskey ls = dir
这样就可以给dir起一个别名叫ls,如下图:
如何启动cmd的时候自动修改别名
既然知道如何在windows下给cmd的命令起别名,那么只需要把ADB的一些常用命令设置上自己简短的别名即可,但是现在又碰到另外一个问题,doskey命令,如果直接在cmd中输入,只是针对当前的cmd窗口,当把这个窗口关掉,重新进入cmd之后,这个别名的规则是不存在的。
那么,如何让每次开启cmd的时候,这些别名都生效呢?可以使用bat脚本,然后在注册表中写入AutoRun即可。具体步骤如下:
1、创建bat脚本文件,内容如下:
@doskey ls = dir
2、把这个bat脚本文件保存在任意目录下,最好是英文目录。
3、查看AutoRun的注册表项,如何不知道具体位置,可以在cmd下使用cmd /?命令查看。如下图:
4、然后打开注册表,使用快捷键“win+R”输入regedit,进入注册表。找到上面给出的路径,一般修改一个即可,这里修改的是HKEY_CURRENT_USER。如下图:
不过有些PC机上可能没有AutoRun这个键,可以自己添加,右键→新建→字符串值,然后改名为“AutoRun”,然后把键值执行BAT脚本文件的目录即可。如下图:
4、然后,重新打开cmd窗口,输入ls验证一下效果。
给ADB的常用命令起别名
上面的bat脚本只是给dir命令起了别名,这里需要给一些常用的adb命令都起一个别名,让它们更方便使用,修改这个bat文件的内容,如下:
@doskey ls = dir
@doskey .. = cd ..
@doskey adbc = adb connect 192.168.1.$*
@doskey adbdis = adb disconnect
@doskey adbs = adb shell
@doskey adb-ds = adb -s 192.168.1.$* shell
@doskey adbd = adb devices
@doskey adbi = adb install $*
@doskey adb-di = adb -s 192.168.1.$1:5555 install $2
@doskey adbu = adb uninstall $*
@doskey adbu-s = adb uninstall com.wukongtv.wkhelper
@doskey adb-du = adb -s 192.168.1.$1:5555 uninstall $2
@doskey adbstart = adb start-server
@doskey adbkill = adb kill-server
@doskey adbsc = adb shell /system/bin/screencap -p /sdcard/screencap.png
@doskey adb-dsc = adb -s 192.168.1.$1:5555 shell /system/bin/screencap -p /sdcard/screencap.png
@doskey adbsp = adb pull /sdcard/screencap.png C:\\Users\\Administrator\\Desktop\\screencap.png
@doskey adb-dsp = adb -s 192.168.1.$1:5555 pull /sdcard/screencap.png C:\\Users\\Administrator\\Desktop\\screencap.png
这样就基本上涵盖了大部分常用的命令,其中adbsc和adbsp是一个截图的命令和pull图片文件的命令。注意,如果涵盖多个参数,可以使用$*或者$index的方式录入参数,其中index从1开始。