第一反应就是adb冲突了,因为Xdroid这个产品看起来就不像是给开发人员用的模拟器,因为不能选择各种版本进行适配,所以肯定自带了一个adb。
whereis命令发现果然有两个adb,一个直接是安装在/usr/bin下了。
所以参考这个,cd到命令具体位置,然后一个kill-server一个start-server就好了。
所以引发了一个问题,同名的命令,一个在/usr/bin,一个在/home下配置了环境变量,哪个会被执行。
具体参考了这个文章
执行一个命令,可能会有四个步骤:
- 直接给出绝对路径或者相对路径,比如/usr/bin/adb就是执行bin下的adb 现在要执行之前安装的adb就就~/Android/Sdk/platform-tools/adb 或者经常使用的./xxxx 当前目录下的可执行文件,如果不加这个,说明不是路径,就会通过下面的步骤去找这个命令。
- 查找别名
alias xxx='xxx'
和unalias xxx
- 判断是内部命令还是外部命令,内部命令是shell自带的,直接执行,一般都是放在/bin里,但放在/bin里的也不一定都是内部命令,可以通过type命令判断是否是内部命令。
- 如果是外部命令,系统就会通过环境变量来确定命令的位置,然后执行,如果找不到,就会报command not found,环境变量内容也比较多,遇到再学。