在使用adb命令链接模拟器时出现了这个问题,如图:
深度截图_选择区域_20210204175425.png
从报错信息上可以看出,adb server版本和client版本不一致导致的,一个是40,一个是41。为什么会出现两个版本不一致的情况,因为我装了Genymotion模拟器,猜测可能是因为Android studio用的sdk中的adb版本和模拟器带的adb版本不一致导致的,到底是不是这样呢?我们来看一下:
先看看sdk中的ADB版本:
深度截图_选择区域_20210204175353.png
再看看模拟器的adb版本
深度截图_选择区域_20210204175700.png
从上图可以看到二者的adb版本确实不一致。怎么解决?很简单,把sdk中adb复制一份替换模拟器中的adb:
root@sf-PC:/opt/genymotion/tools# ls //先看看看该目录下的adb
aapt adb glewinfo lib64 nox_adb //确实有adb
root@sf-PC:/opt/genymotion/tools#
root@sf-PC:/opt/genymotion/tools# mv adb adb_backup //先备份一下,以防后期用到
root@sf-PC:/opt/genymotion/tools# ls
aapt adb_backup glewinfo lib64 nox_adb //再看一下,名字已经变成adb_backup
//将sdk中的adb复制过来
root@sf-PC:/opt/genymotion/tools# cp /media/sf/software/android-sdk/platform-tools/adb ./adb
//可以看到已经复制过来了
root@sf-PC:/opt/genymotion/tools# ls
aapt adb adb_backup glewinfo lib64 nox_adb
//执行adb shell ,可以看到已经进来了。
sf@sf-PC:/opt/genymotion/tools$ adb shell
root@android:/ #
至此,问题已解决。