【发布时间】: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 后出现以下错误:
我不知道为什么模拟器不能工作。另外,我们可以在 Genymotion 类型的外部模拟器上安装 Android 的“图像”文件在哪里。
感谢任何帮助!
【问题讨论】:
-
在构建代码之后,尝试在同一个终端中运行
emulator。如果它比在不设置环境的情况下运行模拟器的命令有效,则需要修改。 -
我确实尝试过运行模拟器,但我得到的只是一个显示 QEMU 的窗口,而里面除了上面的任何东西(这次是终端)之外什么都没有。
-
糟糕,我错过了一分。你用什么目标来运行你的构建?如果你为模拟器构建 Android,你需要使用
aosp_arm-userdebug、aosp_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