You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AOSP模拟器启动后adb devices显示offline问题求助

AOSP模拟器adb显示offline的问题排查与解决

问题描述

我是AOSP新手,执行lunch aosp_cf_x86_64_phone-trunk_staging-userdebug完成环境配置后,用emulator命令成功启动模拟器,但运行adb devices时,emulator-5554始终显示offline状态。已尝试杀死并重启adb server,问题未解决;通过netstat确认只有模拟器在监听正确端口。

设备信息:HP Omen游戏电脑,64GB内存、1TB SSD、13代Intel® Core™ i9处理器,操作系统Ubuntu 24.04。

模拟器启动日志(中文翻译)

Android模拟器版本35.3.8.0(build_id 12560773)(CL:N/A)
INFO         | 图形后端:gfxstream
INFO         | 将默认hw.initialOrientation改为竖屏

INFO         | 将RAM大小增加到2048MB
INFO         | 检查系统兼容性:
INFO         |   检查:磁盘空间是否充足
INFO         |      正常:运行AVD所需的磁盘空间要求已满足。
INFO         |   检查:硬件GPU是否达标
INFO         |      正常:运行AVD的硬件GPU要求已通过。
INFO         |   检查:系统资源是否充足
INFO         |      正常:运行AVD的系统要求已满足。
WARNING      | 未开启加密
WARNING      | FeatureControl请求了一个不存在的功能。
INFO         | 警告:QMetaObject::connectSlotsByName: 找不到匹配的信号on_new_posture_requested(int) ((null):0, (null))

INFO         | 警告:QMetaObject::connectSlotsByName: 找不到匹配的信号on_dismiss_posture_selection_dialog() ((null):0, (null))

INFO         | 警告:QMetaObject::connectSlotsByName: 找不到匹配的信号on_new_resizable_requested(PresetEmulatorSizeType) ((null):0, (null))

INFO         | 警告:QMetaObject::connectSlotsByName: 找不到匹配的信号on_dismiss_resizable_dialog() ((null):0, (null))

INFO         | 警告:QMetaObject::connectSlotsByName: 找不到匹配的信号on_sleep_timer_done() ((null):0, (null))

INFO         | 警告:QMetaObject::connectSlotsByName: 找不到匹配的信号on_unfold_timer_done() ((null):0, (null))

INFO         | 崩溃数据存储于:/tmp/android-syammohan/emu-crash-35.3.8.db,进程5692已启用崩溃检测
WARNING      | FeatureControl请求了一个不存在的功能。
WARNING      | FeatureControl请求了一个不存在的功能。
WARNING      | FeatureControl请求了一个不存在的功能。
WARNING      | FeatureControl请求了一个不存在的功能。
WARNING      | FeatureControl请求了一个不存在的功能。
WARNING      | 你的GPU驱动可能存在bug,切换到软件渲染模式。
library_mode swangle_indirect gpu mode swangle_indirect
WARNING      | FeatureControl请求了一个不存在的功能。
INFO         | 初始化硬件OpenGLES模拟支持
I1030 08:50:56.946597    5692 opengles.cpp:285] android_startOpenglesRenderer: GPU信息
I1030 08:50:56.946613    5692 opengles.cpp:286] 
INFO         | 将nofile软限制提升至4096。
INFO         | 健康监控已禁用。
INFO         | initIcdPaths: ICD设置为'swiftshader',使用Swiftshader ICD
INFO         | 为加载器设置ICD文件名 = /home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/vk_swiftshader_icd.json:/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/vk_swiftshader_icd.json
INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so]

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so]:未在映射中找到,首次尝试打开

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so](posix):开始

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so](posix,linux):调用dlopen打开[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so]

INFO         | 打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so]失败(posix)。dlerror: []

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so.1]

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so.1]:未在映射中找到,首次尝试打开

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so.1](posix):开始

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so.1](posix,linux):调用dlopen打开[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so.1]

INFO         | 打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so.1]失败(posix)。dlerror: []

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so]

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so]:未在映射中找到,首次尝试打开

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so](posix):开始

INFO         | 尝试打开共享库[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so](posix,linux):调用dlopen打开[/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so]

INFO         | 已添加库:/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so
INFO         | 选择Vulkan设备:SwiftShader Device (Subzero),版本:1.3.0
initialize: 支持ID属性,已获取Vulkan设备UUID
INFO         | 尝试打开共享库[libGLESv2.so]:未在映射中找到,首次尝试打开

INFO         | 尝试打开共享库[libGLESv2.so](posix):开始

INFO         | 尝试打开共享库[libGLESv2.so](posix,linux):调用dlopen打开[libGLESv2.so]

INFO         | 尝试打开共享库[libEGL.so]:未在映射中找到,首次尝试打开

INFO         | 尝试打开共享库[libEGL.so](posix):开始

INFO         | 尝试打开共享库[libEGL.so](posix,linux):调用dlopen打开[libEGL.so]

INFO         | 尝试打开共享库[libX11]

INFO         | 尝试打开共享库[libX11]:未在映射中找到,首次尝试打开

INFO         | 尝试打开共享库[libX11](posix):开始

INFO         | 尝试打开共享库[libX11](posix,linux):调用dlopen打开[libX11.so]

INFO         | 初始化VkEmulation功能:
INFO         |     glInteropSupported: false
INFO         |     useDeferredCommands: true
INFO         |     createResourceWithRequirements: true
INFO         |     useVulkanComposition: false
INFO         |     useVulkanNativeSwapchain: false
INFO         |     enable guestRenderDoc: false
INFO         |     ASTC LDR模拟模式:2
INFO         |     启用ETC2模拟:true
INFO         |     启用Ycbcr模拟:false
INFO         |     guestVulkanOnly: false
INFO         |     useDedicatedAllocations: false
INFO         | 图形适配器供应商:Google (Google Inc.)
INFO         | 图形适配器:Android Emulator OpenGL ES Translator (Google SwiftShader)
INFO         | 图形API版本:OpenGL ES 3.0 (OpenGL ES 3.0 SwiftShader 4.0.0.1)
INFO         | 图形API扩展:GL_OES_EGL_sync GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float GL_OES_standard_derivatives GL_OES_texture_npot GL_OES_rgb8_rgba8 GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_texture_format_BGRA8888 GL_APPLE_texture_format_BGRA8888 
INFO         | 图形设备扩展:无
INFO         | 未找到验证启动参数。
INFO         | 监控模拟器启动时长。
WARNING      | 模拟器现在需要签名的JWT令牌才能访问gRPC!如果确实需要开放无保护的gRPC端口,请使用-grpc标志
INFO         | 使用的安全允许列表来自:/home/syammohan/development/AAOS/source/prebuilts/android-emulator/linux-x86_64/lib/emulator_access.json
WARNING      | *** Basic token auth仅应由android-studio使用 ***
INFO         | 活跃的JSON Web密钥集可在此处找到:/run/user/1000/avd/running/5692/jwks/45bbfcd3-c041-4da2-9d2f-ea2b1cbbaec7/active.jwk
INFO         | 扫描/run/user/1000/avd/running/5692/jwks/45bbfcd3-c041-4da2-9d2f-ea2b1cbbaec7目录查找jwk密钥。
INFO         | GRPC服务器已启动于127.0.0.1:8554,安全设置:本地,认证:+token
INFO         | 在/run/user/1000/avd/running/pid_5692.ini中发布服务信息
INFO         | 将显示0的配置设置为:320x480,dpi:160x160 
INFO         | setDisplayActiveConfig 0
INFO         | 加载快照'default_boot'...
INFO         | OpenGL供应商=[Google (Google Inc.)]
INFO         | OpenGL渲染器=[Android Emulator OpenGL ES Translator (Google SwiftShader)]
INFO         | OpenGL版本=[OpenGL ES 3.0 (OpenGL ES 3.0 SwiftShader 4.0.0.1)]
INFO         | 成功加载快照'default_boot'
INFO         | OpenGL供应商=[Google (Google Inc.)]
INFO         | OpenGL渲染器=[Android Emulator OpenGL ES Translator (Google SwiftShader)]
INFO         | OpenGL版本=[OpenGL ES 3.0 (OpenGL ES 3.0 SwiftShader 4.0.0.1)]
INFO         | 等待模拟器(pid 5692)优雅关闭20秒后再强制杀死;可设置环境变量ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL(单位:秒)修改默认值(20秒)

INFO         | 启用gfxstream=1保存快照
INFO         | OpenGL供应商=[Google (Google Inc.)]
INFO         | OpenGL渲染器=[Android Emulator OpenGL ES Translator (Google SwiftShader)]
INFO         | OpenGL版本=[OpenGL ES 3.0 (OpenGL ES 3.0 SwiftShader 4.0.0.1)]

adb devices命令输出

List of devices attached
emulator-5554   offline

解决步骤

  1. 禁用快照启动模拟器
    启动时跳过可能损坏的快照,执行:

    emulator -no-snapshot-load
    

    或直接删除AVD快照文件(路径通常为~/.android/avd/<AVD名称>/snapshots/)后重新启动。

  2. 指定adb连接端口
    强制模拟器使用固定端口通信,再重启adb服务:

    emulator -port 5554
    adb kill-server && adb start-server
    
  3. 检查模拟器调试设置
    在模拟器中打开设置→系统→开发者选项→调试,确保USB调试已开启。若未找到开发者选项,进入关于手机连续点击版本号7次解锁。

  4. 使用AOSP自带adb工具
    避免版本不匹配,在AOSP源码根目录执行:

    source build/envsetup.sh
    lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
    adb devices
    
  5. 修复GPU驱动问题
    更新Intel显卡驱动:

    sudo apt update && sudo apt install intel-mesa-driver
    

    或强制模拟器使用硬件渲染启动:

    emulator -gpu host
    
  6. 临时关闭AppArmor
    Ubuntu 24.04的AppArmor可能拦截adb通信,临时关闭测试:

    sudo systemctl stop apparmor
    sudo systemctl disable apparmor
    

    若问题解决,再配置AppArmor允许adb与模拟器的通信规则。


内容的提问来源于stack exchange,提问作者Syam Mohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 17:57:01