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

Android Cuttlefish无法启动:launch_cvd命令报错run_cvd返回23

排查Cuttlefish launch_cvd错误码23及kernel/initramfs文件找不到问题

1. 先确认构建产物是否存在,再强制指定路径

  • 自定义ROM构建后,kernel和initramfs.img默认生成在out/target/product/cf_x86_64/(对应你的架构目录),先手动检查文件是否存在:
    ls out/target/product/cf_x86_64/kernel
    ls out/target/product/cf_x86_64/initramfs.img
    
  • 如果文件存在,直接给launch_cvd指定路径启动,绕开自动查找的问题:
    launch_cvd --kernel_path=out/target/product/cf_x86_64/kernel --initramfs_path=out/target/product/cf_x86_64/initramfs.img
    
  • 如果文件不存在,说明构建时没生成这两个产物,先单独编译kernel再重新构建ROM:
    m -j$(nproc) kernel
    m -j$(nproc)
    

2. 检查Cuttlefish配置与权限问题

  • 错误码23大概率和路径或权限有关,先检查当前用户对out目录的读写权限:
    ls -ld out/target/product/cf_x86_64/
    
  • 如果用sudo启动launch_cvd,记得保留环境变量,避免找不到ANDROID_BUILD_TOP路径:
    sudo -E launch_cvd
    
  • 尝试清空Cuttlefish的旧配置,让系统重新生成默认配置:
    rm -rf ~/.config/cuttlefish/ && launch_cvd
    

3. 核对自定义ROM的Cuttlefish适配

  • 确认你的ROM是基于Cuttlefish设备配置构建的,检查device/google/cuttlefish/下的配置文件是否被正确引用,不要混用其他设备的配置
  • 确保编译的kernel和Cuttlefish架构匹配(比如x86_64,别用arm内核)

4. 深度日志排查

  • 手动运行run_cvd并开启verbose日志,获取更详细的错误细节:
    run_cvd --log_level=verbose
    
  • 查看/var/log/cuttlefish/下的完整系统日志(如果存在),重点找initramfs加载阶段的报错信息

内容的提问来源于stack exchange,提问作者Kahlil Taylor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:11:05