我是Android应用程序开发人员。出于某些原因,我应该稍微更改Android内核。但我对内核一无所知。如果有人向我介绍一个解释android内核模块及其他相关信息的网站,我将不胜感激。
答案 0 :(得分:10)
在标准的Android开源发行版中,内核在mydroid / prebuilt / android-arm / kernel文件夹中作为预构建的二进制文件分发,并且不包含源代码。内核源代码已从默认清单中删除,原因有两个。一个是平台组件需要大量的带宽和磁盘空间,大多数人都不会使用它。另一个原因是,由于内核是使用内核构建系统构建的,而不是作为aosp构建系统的一部分构建,因此将它保持分离是有意义的。内核的公共分支是模拟器使用的分支。还有实验,msm(高通平台)和Omap(TI平台)的分支机构,可能还有更多。如果你想将Android内核与硬件一起使用,这些对你来说可能会更有趣。
通过将Android内核添加到您的repo清单中或通过运行以下方式手动获取:
git clone git://android.git.kernel.org/kernel/common.git
以这种方式构建的内核最终应该在内核树的arch / arm / boot文件夹中(你从git clone中放入代码)
浏览以下网站,这也会给你一些想法。
Android Porting,Android Platform,Android-Pdk,
Android porting in real target,Build-compile-linux-kernel-android
我想,既然你在谈论内核编程,那么你也在寻找将新硬件与平台连接起来的方法,并使用你对应用程序的框架扩展来展示这些功能。硬件基本上是作为标准Linux驱动程序添加的,因此在Linux下运行它是很好的第一步。之后如何将其挂钩到Android框架取决于它是什么类型的硬件。您可以使用本机进程来控制它(比较当前平台中的摄像头服务或无线电守护程序),或者只是在使用框架扩展的应用程序中生成一个线程。对于不需要太多关注的硬件,使用Android HAL库插入它也可以是一个选项