Genymotion的虚拟机与Android Studio 或adb连接不上

本文详细介绍了Genymotion虚拟机在与adb连接时遇到的两个问题:版本不匹配导致的连接失败和虚拟机启动后黑屏。针对这些问题,作者提供了具体的分析和解决方法,包括更换Genymotion版本、修改adb设置以及复制特定版本adb到SDK目录,以实现与虚拟机的正常连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情况一:Genymotion与adb连接不上,报错"adb server version (39) doesn't match this client (40); killing...”

情况剖析:

安装Genymotion 2.12.10及以下版本后出现的情况,因为2.12.10版本的Genymotion自带的adb版本为1.0.39,而Android Studio 3.4版本自带的adb为1.0.40版,所以Genymotion虚拟机与adb工具版本冲突,所以报错,adb连接不上虚拟机。

当系统的adb版本为1.0.40及以上版本时,推荐安装Genymotion 2.12.12版本,因为Genymotion 2.12.10及以下版本中自带的adb为1.0.39及以下版本,会出现adb与虚拟机或Android Studio连接不上的问题。

 

情况二:Genymotion虚拟机启动后,虚拟机一直黑屏,不能进入Android系统:

笔者使用的电脑配置是:

硬件:DELL笔记本电脑,CPU是Intel Core i3-2310M,RAM是4GB,显卡是集成显卡HD 3000,系统是Windows 7(64位版)等。

Android Studio 版本:3.4

adb版本 (Android Studio 3.4软件自带的版本):Android Debug Bridge version 1.0.40      |      Version 28.0.2-5303910

情况剖析:

试验1:当安装Genymotion2.12.0及以下版本时,出现虚拟机连接不上adb和Android Studio的情况。

试验2:当安装Genymotion 3.0.0及以上版本时,笔者电脑上新建的虚拟机出现启动后黑屏进不了Android的情况。

网上解释1——因为显卡驱动与Genymotion冲突!

但是笔者卸载显卡驱动并恢复为Windows 7自带的核显驱动后,仍然存在Genymotion 虚拟机启动后黑屏进不了Android的情况。有可能是集成显卡的显存太小导致吗?

网上解释2——因为Virtual Box版本与Genymotion版本不兼容,导致黑屏进不了Android。

但是安装Genymotion 3.0.0及以上版本中自带Virtual Box 6.0版本后,仍然出现黑屏进不了Android的情况,所以有可能不是Genymotion与Virtual Box版本不兼容的问题吗?

 

解决方法:

下载并安装Genymotion 2.12.2版本,这个版本最完美!不会出现连接不上adb、Android Studio的情况,也不会出现虚拟机黑屏的情况。

Genymotion设置如下:

Genymotion -> Settings -> ADB -> Use Genymotion Android Tools (default)

 

 


 

报错情况(1):

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

报错说明:

server version(39),指的是Genymotion虚拟机的adb版本号是39,

client(40),指的是本机SDK中的adb版本号是40,

当前环境说明:

Genymotion软件当前的默认设置是“Use Genymotion Android Tools (default)”:

Genymotion -> Settings -> ADB -> Use Genymotion Android Tools (default)

报错分析:

说明当前虚拟机所使用的adb版本号是39,而用户所使用的adb版本号是40,高于虚拟机的版本,所以要连接上虚拟机,需要使用39版的adb即可。解决问题的思路是,将Genymotion自带的39版的adb复制至sdk目录下,然后执行39版的adb即可连接上虚拟机。

解决方法:

1. 将Genymotion安装目录中tools文件夹下的adb.exe程序,复制并重命名为adb39.exe,并复制adb39.exe文件至android的SDK目录中的platform-tools文件夹下,可在命令行中执行(命令中的2个路径,需要替换为你的程序所在的实际安装路径):

copy D:\Genymotion\tools\adb.exe D:\Android\SDK\platform-tools\adb39.exe

2. 在cmd命令行中执行“adb39.exe”:

D:\Android\SDK\platform-tools\adb39.exe devices

3. 命令行提示找到虚拟机了:

List of devices attached
192.168.54.101:5555     device

4. 以后每次对虚拟机执行命令时,不要执行adb,而是要执行adb39.exe或adb39,即可。

 


报错情况(2)

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

报错说明:

server version(40),指的是Genymotion虚拟机的adb版本号是40,

client(39),指的是本机SDK中的adb版本号是39,

当前环境说明:

Genymotion软件当前的默认设置是“Use custom Android SDK tools”:

Genymotion -> Settings -> ADB -> Use custom Android SDK tools ->
-> Android SDK:D:/Android/SDK (说明:此路径可替换为你安装Android SDK的实际目录)
√ Android SDK tools found successfully (说明:表示Genymotion已经检测并匹配到SDK目录)

报错分析:

说明当前虚拟机所使用的adb是Android SDK目录下的adb程序,版本号为40,而用户执行的adb版本号是39,低于虚拟机的版本,所以要连接上虚拟机,需要使用40版的adb。解决问题的思路是,将Genymotion设置为上文“报错(1)”中的设置"Genymotion -> Settings -> ADB -> Use Genymotion Android Tools (default)",然后执行39版的adb即可连接上虚拟机。

解决方法:

1. 关闭虚拟机

2. Genymotion软件当前的默认设置是“Use Genymotion Android Tools (default)”:

Genymotion -> Settings -> ADB -> Use Genymotion Android Tools (default)

说明:步骤3如果已经在之前操作过一次,则不用操作,直接检查(你的Android SDK目录)\platform-tools\下的adb39.exe程序是否存在,如adb39.exe已存在则可直接跳过至步骤4!

3. 将Genymotion安装目录中tools文件夹下的adb.exe程序,复制并重命名为adb39.exe,并复制adb39.exe文件至android的SDK目录中的platform-tools文件夹下,可在命令行中执行(命令中的2个路径,需要替换为你的程序所在的实际安装路径):

copy D:\Genymotion\tools\adb.exe D:\Android\SDK\platform-tools\adb39.exe

4. 在cmd命令行中执行“adb39.exe”:

D:\Android\SDK\platform-tools\adb39.exe devices

5. 命令行提示找到虚拟机了:

List of devices attached
192.168.54.101:5555     device

6. 以后每次对虚拟机执行命令时,不要执行adb,而是要执行adb39.exe或adb39,即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值