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
解决步骤
禁用快照启动模拟器
启动时跳过可能损坏的快照,执行:emulator -no-snapshot-load或直接删除AVD快照文件(路径通常为
~/.android/avd/<AVD名称>/snapshots/)后重新启动。指定adb连接端口
强制模拟器使用固定端口通信,再重启adb服务:emulator -port 5554 adb kill-server && adb start-server检查模拟器调试设置
在模拟器中打开设置→系统→开发者选项→调试,确保USB调试已开启。若未找到开发者选项,进入关于手机连续点击版本号7次解锁。使用AOSP自带adb工具
避免版本不匹配,在AOSP源码根目录执行:source build/envsetup.sh lunch aosp_cf_x86_64_phone-trunk_staging-userdebug adb devices修复GPU驱动问题
更新Intel显卡驱动:sudo apt update && sudo apt install intel-mesa-driver或强制模拟器使用硬件渲染启动:
emulator -gpu host临时关闭AppArmor
Ubuntu 24.04的AppArmor可能拦截adb通信,临时关闭测试:sudo systemctl stop apparmor sudo systemctl disable apparmor若问题解决,再配置AppArmor允许adb与模拟器的通信规则。
内容的提问来源于stack exchange,提问作者Syam Mohan
相关产品推荐
相关产品推荐

