使用Xdroid进行端口映射,出现adb server version (36) doesn't match this client (39); killing...的解决方案

送分小仙女□ 提交于 2019-12-06 02:09:40

第一反应就是adb冲突了,因为Xdroid这个产品看起来就不像是给开发人员用的模拟器,因为不能选择各种版本进行适配,所以肯定自带了一个adb。
whereis命令发现果然有两个adb,一个直接是安装在/usr/bin下了。
所以参考这个,cd到命令具体位置,然后一个kill-server一个start-server就好了。

所以引发了一个问题,同名的命令,一个在/usr/bin,一个在/home下配置了环境变量,哪个会被执行。
具体参考了这个文章
执行一个命令,可能会有四个步骤:

  1. 直接给出绝对路径或者相对路径,比如/usr/bin/adb就是执行bin下的adb 现在要执行之前安装的adb就就~/Android/Sdk/platform-tools/adb 或者经常使用的./xxxx 当前目录下的可执行文件,如果不加这个,说明不是路径,就会通过下面的步骤去找这个命令。
  2. 查找别名 alias xxx='xxx'unalias xxx
  3. 判断是内部命令还是外部命令,内部命令是shell自带的,直接执行,一般都是放在/bin里,但放在/bin里的也不一定都是内部命令,可以通过type命令判断是否是内部命令。
  4. 如果是外部命令,系统就会通过环境变量来确定命令的位置,然后执行,如果找不到,就会报command not found,环境变量内容也比较多,遇到再学。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!