【问题标题】:Running Custom Android ROM on Emulator在模拟器上运行自定义 Android ROM
【发布时间】:2018-01-28 10:23:58
【问题描述】:

我基于 AOSP(Nexus 6 为 7.0)构建了一个自定义 ROM,我想将此 ROM 与 SDK 模拟器一起使用。构建的午餐组合是“aosp_x86_64-eng”,我相信

应该可以在 SDK 模拟器上运行。但是,我在 AVD Manager 中没有看到指定我的自定义系统映像的选项。它只允许我使用 Google 列出的 ROM。

我尝试将自定义 ROM 的 system.img 复制到库存 Nexus 6 AVD 上,但之后模拟器无法启动。

请注意,在构建过程中生成的模拟器可以正常工作。但是构建发生在服务器上,我想在我的开发机器上使用生成的 ROM 和我的 SDK 的 AVD 管理器。

【问题讨论】:

    标签: android android-emulator


    【解决方案1】:

    发现可以使用以下步骤完成。

    1. 使用库存 AVD 系统映像创建兼容的 AVD。在我的例子中,我使用了一个系统映像,它适用于在 x86_64 ABI 上运行 Nougat 的 Nexus 6。
    2. 转到 ~/.android/avd 文件夹,然后找到您在上面创建的 AVD 的文件夹(例如 ~/.android/avd/test.avd)。将您的自定义 system.img 文件复制到该文件夹​​中。
    3. 运行模拟器!

    当我第一次尝试时,这对我不起作用,因为我选择了错误的基础映像(Nougat x86 而不是 x86_64)。关键是确保库存系统映像与您的构建完全兼容。

    【讨论】:

    • 可以确认这仍然有效,尽管我使用了符号链接。
    • avd目录下没有system.img。对于从 Android Studio 创建的模拟器,只有 userdata.img 文件。现在呢?
    • @UmerFarooq 只需将自定义 ROM 的 system.img 文件复制到该位置即可。默认情况下,模拟器在其他地方引用 ADK 系统映像,因此 system.img 文件不存在。
    • 在运行午餐命令时,您是否选择了“aosp_angler-userdebug”?我的一直给我一个空白屏幕。我试过 x86、x86_64、arm64-v8A、armeabi-v7a。对于 x86 和 64,它甚至不允许我运行模拟器。
    • aosp_x86_64-eng 是我使用的选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2018-04-19
    • 2017-03-01
    • 2020-06-15
    • 2016-09-13
    相关资源
    最近更新 更多