【问题标题】:Blank emulator after compililing Android 7.1.1 using Source code, how to get the emulator to work?使用Source code编译Android 7.1.1后的空白模拟器,如何让模拟器工作?
【发布时间】:2017-02-14 20:38:40
【问题描述】:

一段时间以来,我一直在尝试编译源代码,最终编译成功。但是,我遇到了模拟器问题,它显示了一个弹出屏幕,但很空白。

我正在为 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

我不知道为什么模拟器不能工作。另外,我们可以在 Genymotion 类型的外部模拟器上安装 Android 的“图像”文件在哪里。

感谢任何帮助!

【问题讨论】:

  • 在构建代码之后,尝试在同一个终端中运行emulator。如果它比在不设置环境的情况下运行模拟器的命令有效,则需要修改。
  • 我确实尝试过运行模拟器,但我得到的只是一个显示 QEMU 的窗口,而里面除了上面的任何东西(这次是终端)之外什么都没有。
  • 糟糕,我错过了一分。你用什么目标来运行你的构建?如果你为模拟器构建 Android,你需要使用aosp_arm-userdebugaosp_x86_64-userdebug 或类似的东西。不要为 Nexus 6P 构建
  • 如果我为 aosp_arm-userdebug 构建,我应该下载什么样的二进制文件让模拟器运行?从这里:source.android.com/source/requirements.html#binaries。另外,我应该回购哪个分支,我目前拥有问题中提到的 Android 7.1.1。
  • 您不需要下载任何额外的二进制文件。只需使用我指定的目标构建您的 AOSP。

标签: android android-emulator android-source


【解决方案1】:

为了构建 AOSP 以在模拟器中运行,无需下载任何额外的二进制文件。同时,模拟器无法运行为真实设备构建的镜像。因此,只需要下载Android的源码,在下载的源码目录下执行以下命令即可:

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

在同一终端中构建源代码后,运行emulator 命令,模拟器应该会出现。

【讨论】:

  • 这是为了不让问题没有答案的答案(最初,我在cmets中写了一个答案)。
猜你喜欢
  • 2017-06-23
  • 1970-01-01
  • 1970-01-01
  • 2017-05-29
  • 1970-01-01
  • 2018-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多