【问题标题】:How to run an Android 10 system image built by myself on emulators?如何在模拟器上运行自己搭建的Android 10系统镜像?
【发布时间】:2022-01-27 17:35:10
【问题描述】:

我按照Android doc 构建了一个 AOSP (Android 10)。

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

构建成功后,我使用emulator 命令测试构建的镜像是否可以运行。在我运行 CentOS 8 Stream 的服务器上,模拟器可以成功启动,一切看起来都很好。

但是,当我尝试将构建的系统映像移动到我的 MacBook 时,即使 5 分钟后模拟器也只会显示空白屏幕。

我曾经构建一个 Android 7 系统映像(请参阅here)。我需要做的就是将system.img 和ramdisk.img 移动到我的MacBook 的SDK 文件夹中。但这不适用于 Android 10。

我应该移动什么(例如,system.img、ramdisk.img、vendor.img、userdata.img...)以使构建的 AOSP 在我的 Mac 模拟器上运行?

【问题讨论】:

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


    【解决方案1】:

    LineageOS wiki 有 instructions 导出已编译的模拟器图像并在 Android 虚拟设备中独立运行。

    它们也应该适用于纯 AOSP。

    基本上,您可以运行 mka sdk_addon 来构建一个 .zip 文件,其中包含在模拟器中运行构建所需的所有必要图像。

    【讨论】:

      【解决方案2】:

      在了解了更多关于 AOSP 构建输出(尤其是 out/target/product/generic_x86 下的所有 .imgs)之后,这是我在 Mac 的模拟器上加载自建系统映像的操作:

      1. 在 MacBook 上将 system-qemu.img 复制到 <android_sdk>/system-images/android-29/google_apis/x86。然后将system-qemu.img重命名为system.img(你可以删除原来的system.img或者换个名字)。
      2. 在 MacBook 上将 VerifiedBootParams.textproto 复制到 <android_sdk>/system-images/android-29/google_apis/x86。还记得在复制之前删除或重命名原始文件。估计跟vbmeta.img有关,是用来验证system.img的。如果没有此文件,您的模拟器将因验证失败而无法启动。更多详情请参考here。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-05
        • 2020-12-15
        • 1970-01-01
        • 2013-02-17
        • 2014-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多