Android内核修改

use*_*298 1 android android-source

我是一名Android应用程序开发人员.出于某些原因,我应该稍微更改Android内核.但我对内核一无所知.如果有人向我介绍一个解释android内核模块及其他相关信息的网站,我将不胜感激.

Hus*_*ain 10

在标准的Android开源发行版中,内核作为预构建的二进制文件在mydroid/prebuilt/android-arm/kernel文件夹中分发,并且不包含源代码.内核源代码已从默认清单中删除,原因有两个.一个是平台组件需要大量的带宽和磁盘空间,大多数人都不会使用它.另一个原因是,由于内核是使用内核构建系统构建的,而不是作为aosp构建系统的一部分构建,因此将它保持分离是有意义的.内核的公共分支是模拟器使用的分支.还有实验,msm(高通平台)和Omap(TI平台)的分支机构,可能还有更多.如果您想将Android内核与硬件一起使用,这些对您来说可能更有趣.

  • 通过将Android内核添加到您的repo清单中或通过运行:git clone手动获取Android内核 git://android.git.kernel.org/kernel/common.git

  • 以这种方式构建的内核最终应该在内核树的arch/arm/boot文件夹中(你从git clone中放入代码)

  • 请注意,我已使用上述说明中的默认路径,您需要将它们更改为适用于您的设置的路径.自从我上次测试这个以来已经有一段时间,但我认为它应该可行.

浏览以下网站,这也会给你一些想法.

Android移植, Android平台, Android-Pdk,

Android移植到真正的目标,Build-compile-linux-kernel-android

我想,既然你在谈论内核编程,你也在寻找将新硬件与平台连接起来的方法,并使用你对应用程序的框架扩展来公开这些功能.硬件基本上是作为标准Linux驱动程序添加的,因此在Linux下运行它是一个很好的第一步.之后如何将其挂钩到Android框架取决于它是什么类型的硬件.您可以使用本机进程来控制它(比较当前平台中的摄像头服务或无线电守护进程),或者只是在使用框架扩展的应用程序中生成一个线程.对于不需要太多关注的硬件,使用Android HAL库插入它也可以是一个选项