android - 无法使用自定义构建的系统镜像启动 Android 模拟器

标签 android android-emulator android-source android-build

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

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

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

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

最佳答案

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

  1. 在 Android Studio 中下载 Intel x86 Atom System Image(之前我只有 Google APIs Intel x86 Atom System Image)。
  2. 创建 Google API 的模拟器。
  3. 复制 system.imgramdisk.img我在服务器上构建了 <SDK folder>/system-images/android-XX/default/x86/在我的 MacBook 上。
  4. 运行模拟器,运行良好。

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

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

关于android - 无法使用自定义构建的系统镜像启动 Android 模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55136194/

相关文章:

android - 将预构建的 apk 添加到 AOSP 构建

gnu-make - AOSP makefile 中 `call inherit-product` 和 `include` 之间的区别?

java - Android/Java人脸识别: gender,年龄、情绪

android - 如何从我的 android 设备而不是 sdcard 获取所有图像和照片?

android - galaxy tab 应该支持哪些 android layout 和 drawable 资源进行开发?

android:导出的 Activity 不需要权限

android - 通知未打开正确的 Activity

java - 改进 Large ListView Adapter 的平滑滚动,有时会出现抖动

android - 如何从我的 android TableView 中的数据库中获取数据作为列

c++ - Android 系统模块不会在构建时生成输出