2011-07-22 122 views
1

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

回答

9

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

  • 无论是通过运行其添加到您的回购清单或手动下载Android内核: 混帐克隆git://android.git.kernel.org/kernel/common.git

  • 这种方式构建应在拱/ ARM/boot文件夹结束内核你的内核树(你把代码从git克隆的地方)

  • 请注意,我已经在上面的描述中使用了默认路径,您需要将它们更改为适用于您的设置的内容。自从我上次测试这段时间以来已经有一段时间了,但我认为它应该起作用。

通过下列网站,这也将给你一些想法。

Android PortingAndroid PlatformAndroid-Pdk

Android porting in real targetBuild-compile-linux-kernel-android

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