首页 > 解决方案 > 无法使用自定义构建的系统映像启动 Android 模拟器

问题描述

我成功地在我的服务器上构建了一个 Android 源代码。我使用的命令是

source build/envsetup.sh
lunch aosp_x86-eng
make -j32

我也可以在没有 GUI 的情况下在服务器上成功运行模拟器,因为服务器没有可用的视频设备。为了直观地看到模拟器,我按照这里这里提到的步骤将几个构建的图像移动到我的笔记本电脑(MacBook Pro)上。基本上,我使用 Android Studio 创建了一个 x86 模拟器并将几个图像文件(例如 system.img、ramdisk.img、userdata.img)复制到相应的 avd 文件夹中。但是,当我尝试启动模拟器时,它只显示一个空白屏幕,即使在 5 分钟后也没有任何进展。我试图关闭 gpu,切换到软件渲染,然后切换到冷启动,但没有成功。

我不明白原因,因为按照这些步骤似乎其他人可以成功。谁能告诉我我犯了什么错误?

标签: androidandroid-emulatorandroid-sourceandroid-build

解决方案


经过几天的搜索,事实证明答案很简单。这是我为使其工作所做的工作:

  1. 在 Android Studio 中下载 Intel x86 Atom System Image(以前我只有 Google APIs Intel x86 Atom System Image)。
  2. 创建一个没有Google API 的模拟器。
  3. 将我构建的服务器复制到system.img我的 MacBook 上。ramdisk.img<SDK folder>/system-images/android-XX/default/x86/
  4. 午餐模拟器,它工作得很好。

我还发现如果使用带有 Google API 的模拟器,它只能在软件 - GLES 2.0 模式下工作。但是 WebView 在这种模式下不起作用。

所以看起来空白屏幕的原因是因为我使用了带有 Google API 的模拟器......我不知道为什么,但它可以工作。


推荐阅读