adb server version (40) doesn't match this client (41); killing...

在使用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:/ # 

至此,問題已解決。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。