说明:

我这里用的是Android 4.2.2自带的交叉编译工具。如果是使用host系统安装的,我觉得应该也是可以的。但是没有测试过。因为Android源代码已经自带了,所以大多数情况下,不需要再安装host系统的交叉编译工具。

Android自带的交叉编译工具有两套,位于prebuilts/gcc/linux-x86/arm目录下:
1. arm-eabi-4.6
2. arm-linux-androideabi-4.6

两者的区别是:后者比前者新一些,具备一些新的特性。实际测试表明都可以用来编译内核,都可以。似乎是后者更多地用于NDK。而且包含一些针对Android的特定修改。

对于如何编译Android kernel (默认指的是给Android模拟器编译),说明文档位于Android源代码下的
external/qemu/docs/ANDROID-KERNEL.TXT。大家可以参考。

环境准备:

1.将交叉编译工具链的路径加入系统路径中

在~/.bashrc中加入如下语句(具体路径请根据自己实际情况调整):

export PATH=$PATH:~/Android_4.2.2_r1.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin

2.重新登录终端或者使用source ~/.bashrc。

3.在命令行下执行 arm-eabi-gcc --version,如果没有出错信息,说明配置完成。

编译:

去google下载最新的kernel代码。假设放在了goldfish目录下,则执行以下命令编译(假设你的模拟器是armv7,你的编译工作站有8个core);
cd goldfish
export CROSS_COMPILE=arm-eabi-
export ARCH=arm
export SUBARCH=arm
make goldfish_armv7_defconfig
make -j8

如果编译过程没有出错,则最后编译出的arch/arm/boot/zImage,就是我们要的kernel,可以用来测试了。

更多相关文章

  1. Android下进行单元测试
  2. Android Studio 里搭建自动化测试框架Robotium
  3. android内核字符驱动设备实战之----------内置C语言测试程序篇
  4. Android兼容性测试框架(CTS)手册
  5. Android 自动化测试 robotium
  6. xamarin之 安装工具介绍
  7. 《大话移动APP测试:Android与iOS应用测试指南》
  8. AndroidUI自动化测试工具-UIautomator

随机推荐

  1. eclipse下安装android 插件过程
  2. Android的异步任务AsyncTask
  3. Android常用组件之四大天王
  4. 总结Content Provider的使用
  5. android 抛出“Unparsed aapt error(s)”
  6. Android中使用硬件加速的技巧
  7. Android(安卓)Lottie动画的简单使用
  8. Android(安卓)Selector 背景选择器
  9. Android处理异步耗时任务,AsyncTask使用教
  10. Gradle 构建 android 应用常见问题解决指