Android Studio | Waiting for target device to come online

先把解决办法贴在前面:

解决办法:

文字说明:

open AVD manager -> Edit device -> Show Advanced Settings -> Boot option -> select Cold Boot instead of Quick boot.

图解:

在DeviceManager里按照步骤进入Edit

进入ShowAdvancedSettings

往下滑,在Boot option里选择Cold boot

本办法来自于(Android Studio guest hasn't come online in 7 seconds retrying-详细内容 - 黄兵的个人博客)

过程:

遇到问题

最近想启动一个新项目,开始时想启动一下。等了一会发现还没启动好,发现一直卡在Waiting for target device to come online

办法1:Cold Boot

一开始觉得太久没有用这个虚拟设备了,可能某些地方卡住了,就在Device Manager里尝试Cold Boot,重新启动试试

结果不行

办法2:删除*.lock文件

之前也遇到过这个问题,不过都是项目之中遇到的。于是想试试用之前的办法解决:

删除 C:\Users\用户名.android\avd\相应虚拟设备\ 找到 *lock 文件(我这里是multiinstance.lock),重新启动(此处得先关掉Android Studio)

求助Deepseek

后来发现不行,就试着问了一下Deepseek,给出的解决方案:

1. 删除.lock文件并冷启动(Cold Boot)

  • 关闭当前模拟器。
  • 前往AVD的存储目录(如C:\Users[用户名].android\avd[模拟器名称].avd),删除所有.lock文件210。
  • 在AVD Manager中选择该模拟器,点击Cold Boot Now强制冷启动29。
  • 启动完成后,重新运行应用。

2. 检查AVD配置与系统镜像

  • 在AVD Manager中新建或编辑模拟器,确保选择与项目兼容的API版本。
  • 优先选择x86_64架构镜像(性能更好且兼容性高)7。

3. 强制重启ADB服务

  • 打开终端,进入SDK的platform-tools目录。

  • 依次执行命令:

    vbscript 复制代码
     adb kill-server  
     adb start-server  
  • 重新连接模拟器或物理设备56。

  • 适用场景:ADB服务因异常中断导致设备无法识别。

4. 擦除数据(Wipe Data)或重建AVD

  • 方法一 :在AVD Manager中选择Wipe Data,清除模拟器的用户数据5。
  • 方法二:直接删除旧AVD,重新创建一个新模拟器(避免残留配置冲突)710。

5. 更新SDK Tools与Platform Tools

  • 打开Android Studio,进入SDK Manager
  • 检查并更新Android SDK Platform-ToolsAndroid Emulator至最新版本56。
  • 重启Android Studio。

查找博客

看了Deepseek的回答,多少感觉有点不太靠谱,因为我前几天是可以正常启动的。最后还得求助一下百度,找到了一些博客。有一些办法跟我一开始想的一样,不过不行。最终查找到了一篇博客,解决办法就在开头。

可能的原因

新手小白不是很懂,查的博客基本都是解决办法,很少说为什么。 这里贴一下Deepseek的回答:

1. 模拟器残留文件或进程未彻底关闭

  • 原因 :模拟器异常退出后,残留的 .lock 文件或后台进程会阻止新实例启动。

  • 解决方法

    1. 关闭所有模拟器和 Android Studio。
    2. 打开任务管理器,结束所有 qemu-system-*emulator-* 进程5。
    3. 前往模拟器存储目录(如 C:\Users[用户名].android\avd[模拟器名称].avd),删除所有 .lock 文件15。
    4. 使用 AVD Manager 的 Cold Boot Now 强制冷启动模拟器16。

2. ADB 服务异常或未正确连接

  • 原因:ADB 服务可能因端口冲突、权限问题或缓存错误中断连接35。

  • 解决方法

    1. 重启 ADB 服务:在终端中执行 adb kill-server 后,再运行 adb start-server35。
    2. 检查设备是否被识别:执行 adb devices,确认模拟器或物理设备出现在列表中。
    3. 若使用物理设备,检查 USB 调试是否开启,或尝试更换数据线8。

3. AVD 配置或系统镜像不兼容

  • 原因

    • 模拟器的 API 版本与项目要求的 SDK 不匹配28。
    • 未选择正确的 CPU 架构(如 x86_64)68。
    • 系统镜像文件损坏或未完整下载47。
  • 解决方法

    1. 新建 AVD 时选择与项目兼容的 API 版本,并优先使用 x86_64 架构镜像68。
    2. 在 SDK Manager 中检查系统镜像是否完整,重新下载或修复镜像(点击红色感叹号图标)4。
    3. 尝试 Wipe Data(擦除数据)或直接删除旧 AVD 后重建8。

4. Android Studio 或 SDK Tools 版本问题

  • 原因:某些 Android Studio 版本存在兼容性 Bug(如用户反馈的 4.2.2 版本问题)27。

  • 解决方法

    1. 更新 Android EmulatorSDK Platform-Tools 至最新版本47。
    2. 若问题持续,尝试降级 Android Studio 至稳定版本(如 4.1)2。

5. 系统环境或资源限制

  • 原因

    • Linux 系统中库文件缺失或版本冲突(如 libstdc++)7。
    • 系统内存不足或防火墙阻止模拟器网络连接78。
  • 解决方法

    1. Linux 用户 :更新或链接系统库(如执行 sudo apt-get install lib64stdc++6:i386 并替换 SDK 中的库文件)7。
    2. 关闭占用内存过多的程序,确保模拟器有足够资源启动。
    3. 检查防火墙设置,允许模拟器通过网络8。

6. 特定 Android 版本的已知 Bug

  • 原因:部分 Android 版本(如 API 23/Android 6.0)存在模拟器启动 Bug8。

  • 解决方法

    1. 避免使用问题版本,改用 API 22、24 或更高版本8。
    2. 先手动启动模拟器,再运行项目8。

7. 其他建议

  • 使用物理设备调试:若模拟器问题无法解决,优先通过 USB 连接真实设备调试8。
  • 第三方模拟器:尝试 Genymotion 或 BlueStacks 替代官方 AVD27。

百度AI还给出了另外两个办法:


8. ‌模拟器问题

如果使用的是模拟器,可能是模拟器本身的问题。可以尝试以下方法解决:

  • 删除模拟器安装路径下的两个文件(默认在C:\Users\用户名.android\avd下),然后重新启动模拟器‌。

  • 清除模拟器的数据并恢复出厂设置,然后重新启动模拟器‌4。

9. ‌环境变量设置

  • 有时可以通过设置环境变量来解决端口冲突问题。可以定义一个五位数的端口号作为ANDROID_ADB_SERVER_PORT的值,例如设置为10000到65535之间的任意值‌12。

AI的回答不知道靠不靠谱,如果不能解决的小伙伴可以试试。

如果有补充方案欢迎在评论区讨论~

相关推荐
_一条咸鱼_29 分钟前
Android Glide 缓存模块源码深度解析
android
harry235day34 分钟前
kotlin 协程创建启动 源码初探(一)
android·kotlin
fivestar20092 小时前
android studio中看错误问题
android·ide·android studio
小林熬夜学编程3 小时前
【MySQL】第十五弹---全面解析事务:定义、起源、版本支持与提交方式
android·linux·服务器·开发语言·数据库·mysql
&有梦想的咸鱼&3 小时前
Android Glide 缓存模块源码深度解析
android·缓存·glide
Gracker3 小时前
Android Weekly #202510
android·android studio
张风捷特烈3 小时前
Trae&Flutter | 助力 TolyUI 模块管理与发布
android·flutter·trae
恋猫de小郭4 小时前
再聊 Flutter Riverpod ,注解模式下的 Riverpod 有什么特别之处,还有发展方向
android·前端·flutter
*星星之火*8 小时前
【GPT入门】第5课 思维链的提出与案例
android·gpt
EasyCVR8 小时前
EasyRTC嵌入式视频通话SDK的跨平台适配,构建web浏览器、Linux、ARM、安卓等终端的低延迟音视频通信
android·arm开发·网络协议·tcp/ip·音视频·webrtc