针对AOSP 6

时间:2016-09-29 09:46:29

标签: android-emulator android-source qemu

我需要构建Android模拟器的自定义版本,并开始重建模拟器而不对AOSP 6.0.1 R62进行任何更改。

令我惊讶的是,仿真器源代码不再包含在AOSP中。仿真器似乎预先构建在AOSP存储库中。经过一些研究,我设法建立了qemu(ranchu)本身:

  1. 我下载了qemu来源:

    git clone -b qemu-android-2.2.0 \
    https://android.googlesource.com/platform/external/qemu-android
    
  2. 我下载了qemu的Android构建脚本,这些脚本位于不同的存储库中:

    git clone https://qemu-android.googlesource.com/qemu-ranchu
    
  3. 我跑了qemu-ranchu/scripts/rebuild.sh

  4. 该脚本构建了qemu并在qemu-system-aarch64中生成了二进制qemu-ranchu/binaries/linux-x86_64/。在AOSP中,$aosp/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/中有一个具有相同名称的文件,但这不是最终用户将执行的文件。 Android开发人员将在emulator中运行名为$aosp/prebuilts/android-emulator/linux-x86_64/的可执行文件,这显然是某种基于qemu二进制文件的包装器。

    所以实际问题是:

    1. 是否有关于ranchu构建的文档及其涉及的所有内容?我找不到任何:(
    2. emulator*可执行文件是否包含qemu或者是否执行外部qemu二进制文件?
    3. 如果我使用我的自定义二进制文件覆盖aosp/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/中的qemu二进制文件,那么运行emulator会实际调用我的自定义qemu吗?
    4. 我是否可以绕过emulator并直接运行qemu-system-aarch64来启动AOSP图像?或者尝试配置它是疯了吗?
    5. 所有emulator*二进制文件的来源在哪里?

0 个答案:

没有答案