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的回答不知道靠不靠谱,如果不能解决的小伙伴可以试试。

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

相关推荐
踏雪羽翼4 小时前
android 解决混淆导致AGPBI: {“kind“:“error“,“text“:“Type a.a is defined multiple times
android·java·开发语言·混淆·混淆打包出现a.a
csj504 小时前
安卓基础之《(21)—高级控件(3)翻页类视图》
android
2501_915918414 小时前
中小团队发布,跨平台 iOS 上架,证书、描述文件创建管理,测试分发一体化方案
android·ios·小程序·https·uni-app·iphone·webview
betazhou5 小时前
MySQL相关性能查询语句
android·数据库·mysql
一起养小猫5 小时前
Flutter for OpenHarmony 进阶:Timer组件与倒计时系统深度解析
android·网络·笔记·flutter·json·harmonyos
符哥20085 小时前
Fastjson2.X 使用详解
android·java
月明泉清5 小时前
Android中对于点击事件的深度梳理(三)
android
电饭叔5 小时前
DataFrame和 Series 索引
android·python
lexiangqicheng6 小时前
【全网最全】React Native 安卓原生工程结构与构建机制深度解析
android·react native·react.js
数据蜂巢6 小时前
MySQL 8.0 生产环境备份脚本 (Percona XtraBackup 8.0+)
android·mysql·adb