android - 无法使用自定义构建的系统映像启动 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,切换到软件渲染,然后切换到冷启动,但没有成功。
我不明白原因,因为按照这些步骤似乎其他人可以成功。谁能告诉我我犯了什么错误?
解决方案
经过几天的搜索,事实证明答案很简单。这是我为使其工作所做的工作:
- 在 Android Studio 中下载 Intel x86 Atom System Image(以前我只有 Google APIs Intel x86 Atom System Image)。
- 创建一个没有Google API 的模拟器。
- 将我构建的服务器复制到
system.img
我的 MacBook 上。ramdisk.img
<SDK folder>/system-images/android-XX/default/x86/
- 午餐模拟器,它工作得很好。
我还发现如果使用带有 Google API 的模拟器,它只能在软件 - GLES 2.0 模式下工作。但是 WebView 在这种模式下不起作用。
所以看起来空白屏幕的原因是因为我使用了带有 Google API 的模拟器......我不知道为什么,但它可以工作。
推荐阅读
- php - 在 PHP 中替换 // 注释行
- angular - Angular 6 - 可观察订阅不起作用
- azure - 如何使用 Azure AD Graph API 或 Microsft Graph API 更新现有的用户 SignInName?
- phpmailer - 通过 phpmailer 更改电子邮件地址
- java - 以编程方式将 PEM 文件转换为 PKCS8
- google-apps-script - Gmail 插件中的密码字段
- python - xlsxwriter 的 set_header 未按预期工作
- java - Maven Jetty 垃圾邮件警告“从多个位置扫描”
- python - 如何在python tkinter中布局不规则定位的matplotlib条形图,不符合3x3网格
- kubernetes - Istio-proxy 不会通过 global.proxy.includeIPRanges 配置拦截传出流量