生成的system.img未在模拟器上运行

kru*_*ile 12 java linux android android-emulator android-source

我想为Android电视构建自定义ROM.

我按照AOSP网站上给出的步骤使用以下命令下载了源代码:

repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j16 -c

source build/envsetup.sh
lunch aosp_x86-eng
Run Code Online (Sandbox Code Playgroud)

要构建系统映像,我使用以下命令:

make -j16
Run Code Online (Sandbox Code Playgroud)

它使用最新的Q版本来构建:

PLATFORM_VERSION_CODENAME=Q
PLATFORM_VERSION=Q
TARGET_PRODUCT=aosp_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=LiveTv
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-130-generic-x86_64-Ubuntu-16.04.4-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=OC-MR1
OUT_DIR=out
Run Code Online (Sandbox Code Playgroud)

构建总是成功的.system.img并且ramdisk.img也是生成的.

我想在模拟器上测试系统映像.我使用下面的命令:

./emulator -avd tvrom -sysdir out/target/product/generic_x86/ -system out/target/product/generic_x86/system.img -ramdisk out/target/product/generic_x86/ramdisk.img -data out/target/product/generic_x86/userdata.img -kernel prebuilts/qemu-kernel/x86/kernel-qemu
Run Code Online (Sandbox Code Playgroud)

avd名称是tvrom,其他参数是我构建的系统映像的路径.

但是在这样做之后,system.img它不能在模拟器中启动,并且它仍然是黑屏.

此外,终端中存在错误打印:

Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

我搜索了它,但没有找到任何解决方案.有人可以帮忙吗?

编辑

如果有人提供了在Android模拟器上闪存并启动最新AOSP_X86或AOSP_X86_64自定义ROM的步骤列表,那么它将非常有用.

Vit*_*liy 0

  1. master 分支不是一个稳定的分支。始终同步官方标记的分支。

  2. 模拟器的正确午餐目标是 sdk_phone_x86(32 位)或 sdk_phone_x86_64(64 位)。