使用源代码编译Android 7.1.1之后的空白模拟器,如何使模拟器工作?

时间:2017-02-07 20:51:08

标签: android android-emulator android-source

我一直试图从一段时间内编译源代码并最终编译完成。但是我遇到了模拟器的问题,它显示了一个弹出屏幕,但是很空白。

我正在为Nexus6P使用Ubuntu Server Xenial和Android 7.1.1(但我没有Nexus6P所以我需要在模拟器上运行它)

我已经尝试指定所有目录,例如(-sysdir,-sysdir,-datadir,-kernel,-ramdisk,-system,-data,-cache,-sdcard)虽然我知道这些应该是自动的由envsetup.sh文件填充。

我使用的命令是:

emulator -kernel ./prebuilts/qemu-kernel/arm64/kernel-qemu -ramdisk ./out/debug/target/product/angler/ramdisk.img -sysdir ./out/debug/target/product/angler/ -cache ./out/debug/target/product/angler/cache.img -system ./out/debug/target/product/angler/system.img -data ./out/debug/target/product/angler/userdata.img -memory 4096 -partition-size 4096 -sdcard sdcard.img -skindir ./sdk/emulator/skins/ -skin WVGA800

我将内核更改为其他内容,例如ARM / ARM64,但无济于事。我看到的只是一个空白模拟器,并在错误后将其更改为ARM:

  

http://pastebin.com/A04NmNLn

我不知道为什么模拟器不会工作。还有“image”文件在哪里,我们可以使用它在Genymotion类型的外部仿真器上安装Android。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

为了构建在仿真器中运行的AOSP,无需下载任何其他二进制文件。同时,模拟器无法运行为真实设备构建的图像。因此,只需下载Android源并在目录中使用下载的源执行以下命令:

source build/envsetup.sh
lunch aosp_arm-eng #or aosp_x86_64-eng, etc. for details see documentation
make -j4

在同一个终端中构建源代码后,运行emulator命令并显示模拟器。