如何启动Android的内核编程?

我有6个月的Android经验,开发简单的基于UI的应用程序。 现在我想编写针对Android核心内核的应用程序。 例如,我想开发一个Android中不存在的框架。 要做到这一点,我们必须编写内核的代码。 我不知道在哪里以及如何启动Android内核编程。

如果有人知道如何启动它,请帮助我。

  • XDA开发
    一个非常真棒和非常活跃的地方任何智能手机相关的智能。
  • kernelnewbies
    一般来说开始学习linux内核的资源很好
    (这是Android构build的)
  • 构buildAndroid Kernel
    Android内核源码
  • Linux内核
    在线指导驱动程序开发的许多其他相关主题。

更新

对于android源代码,你可以检查出以下之一…

  • 或这个问题
  • 或source.android.com
  • 我个人挖掘这个Chrome插件浏览Android源代码。

    如果您正在谈论平台级编程,即框架扩展,本地库和服务,有几个地方可以启动。 第一个是新的和更新的官方开源项目页面 。 关于贡献和移植的部分提供了有关平台体系结构的一些基本信息,以及您需要如何使用该平台。 下一步是了解平台和框架的构build系统。 网上有一些有限的信息,如果你谷歌。 最好的方法是研究build文件夹中开源项目中可用的一些makefile模板。 有关如何使用Android.mk文件添加自己的模块的信息,研究现有项目的make文件(例如在开源项目中可用的外部项目)是一件好事。

    一旦你已经达到了上述。 那就是你了解平台级开发的基础知识,以及如何为平台构build自己的模块,下一步就是研究开源项目中可用的框架扩展示例。 查看开源项目中的vendor / sample / PlatformLibrary文件夹(编辑,从2.2版开始,供应商的东西已经移到了设备文件夹中),读取自述文件,研究代码,构build它,并确保你理解它。 如果你不那么JNI,共享库,平台安全模型和核心框架是可以帮助你的地方。

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

    我希望能提供一些关于在哪里寻找的初步指示。 否则官方邮件列表是平台级开发信息的主要来源。 特别是Android移植和Android平台 。

    你也应该看看http://pdk.android.com 。 我刚刚发现这个网站,这是非常有用的。 我希望我早点知道。 我不确定Google是如何热衷于更新网站的,因为BMB提到供应商的东西已经移到了2.2版的设备文件夹中,但是PDK网站没有任何改变来反映这一点。 此外,一些链接不起作用,但我可以通过在Google中进行网站search来查找所有网页。