如何在Android模拟器中正常运行ARM架构AVD?
INFO | Android emulator version 31.2.10.0 (build_id 8420304) (CL:N/A) ERROR | This AVD's configuration is missing a kernel file! Please ensure the file "kernel-ranchu" is in the same location as your system image. ERROR | ANDROID_SDK_ROOT is undefined
注:
ANDROID_SDK_ROOT实际已完成配置,模拟器正常运行时不会抛出该错误提示
问题根因&解决方案
- 不要跨版本复制内核文件:将Android 10镜像下的
kernel-ranchu复制到API 3的AVD目录是错误操作,不同API等级的内核与系统镜像强绑定,版本不匹配会直接导致渲染异常、分区挂载失败,你遇到的resizing partition e2fsck failed with exit code 8就是内核与系统分区格式不兼容触发的。 - 更换低版本模拟器运行旧系统:31.x版本的Android模拟器已经移除了对API 14以下版本的官方兼容支持,手动补全文件也会出现各类不可预期的异常。请单独下载25.3.0版本的Android模拟器(该版本是最后一个完整支持API 3~API 13的稳定版本),解压后单独存放,不要覆盖现有高版本模拟器,启动旧版本AVD时直接调用该版本模拟器的可执行文件即可。
- 系统镜像文件必须版本匹配:不要从高版本system-image目录中拆分文件拼凑旧版本运行环境,对应版本的
kernel-ranchu、ramdisk.img、system.img、userdata.img必须全部来自同版本的官方系统镜像,缺文件直接通过SDK Manager重新下载对应API等级的x86系统镜像即可。 - 规避e2fsck报错:创建API 10以下版本的AVD时,内部存储容量不要设置超过2GB,旧版本Android的ext分区工具不支持2GB以上的分区大小,建议将internal storage参数设置为512MB或1GB,AVD创建完成后不要手动调整分区大小,避免触发分区重定义流程触发报错。
- 极老版本运行说明:Android 1.0、1.1没有官方x86镜像,也不支持ranchu内核,只能使用ARM架构qemu镜像搭配对应版本的goldfish内核运行,使用25.3.0版本模拟器启动时,添加
-kernel <goldfish内核文件路径>参数手动指定内核即可正常启动,不需要使用默认的ranchu内核。 - 新版本ARM镜像无需额外调试:Gingerbread、Ice Cream Sandwich及以上版本已有成熟可用的x86架构镜像,不需要测试ARM版本镜像。
内容的提问来源于stack exchange,提问作者spacer GIF
相关产品推荐
相关产品推荐

