首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何编译Android AOSP内核并使用Android模拟器进行测试?

如何编译Android AOSP内核并使用Android模拟器进行测试?
EN

Stack Overflow用户
提问于 2018-04-04 01:51:16
回答 2查看 0关注 0票数 0

有没有人成功编译过Android内核并在Android模拟器中进行测试?

SDK的文档非常好,但是编译内核和在模拟器中设置自定义计算机的文档很难找到。

EN

回答 2

Stack Overflow用户

发布于 2018-04-04 10:38:15

内核不再是按照说明下载Android开源项目源代码时获得的标准回购清单的一部分。在仿真器上成功下载,构建和运行特定内核所需的步骤如下所示:

  • 通过将其添加到回购清单或手动运行,获取Android内核: git clone https://android.googlesource.com/kernel/goldfish.git
  • 查看使用模拟器的正确分支,即goldfish: git checkout -t origin/android-goldfish-2.6.29 -b goldfish
  • 生成仿真器配置(qemu仿真器运行arm代码,即arm配置): make ARCH=arm goldfish_defconfig
    • 如果这不起作用,尝试 make ARCH=arm goldfish_armv7_defconfig
  • 现在使用与开源项目一起分发的交叉编译工具构建内核: make ARCH=arm CROSS_COMPILE=mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
  • 以这种方式构建的内核最终应该放在内核树的arch / arm / boot文件夹中(从git clone中放入代码)
  • 要使用内核运行模拟器,有两种方法,将其复制到开源项目的预建内核文件夹以替换标准内核。另一种选择是使用内核选项集启动模拟器: emulator -kernel mydroid/kernel/common/arch/arm/boot/zImage

我在上面的描述中使用了默认路径,你需要将它们更改为适用于你的设置的内容。我认为它应该起作用。

票数 0
EN

Stack Overflow用户

发布于 2018-04-04 11:05:28

一些tips:

  • git clone git://android.git.kernel.org/kernel/common.git(内核错过);
  • git checkout -t origin / android-goldfish-2.6.29 -b金鱼(相同);
  • 使ARCH = arm goldfish_defconfig(同上);
  • make ARCH = arm CROSS_COMPILE = mydroid / prebuilt / linux-x86 / toolchain / arm-eabi-4.2.1 / bin / arm-eabi-(同上)
  • emulator -avd my_avd -kernel mydroid / kernel / common / arch / arm / boot / zImage(这里我在命令中添加了一个avd,没有为我工作)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档