如何启动Android内核编程?

时间:2010-06-18 13:51:47

标签: android

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

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

3 个答案:

答案 0 :(得分:31)

  • xda-developers
    这是一个非常棒的非常活跃的地方,适用于任何与智能手机相关的智能手机。
  • kernelnewbies
    一般很好的资源,开始学习Linux内核
    (这是android建立的)
  • Building Android Kernel
    Android内核来源
  • Linux kernel
    在许多其他相关主题的驱动程序开发的在线指南。

更新

对于Android源代码,您可以查看以下其中一项......

  • or this question
  • or source.android.com
  • 我个人挖this chrome plugin浏览android源代码。

    答案 1 :(得分:11)

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

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

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

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

    答案 2 :(得分:2)

    您还应该查看http://pdk.android.com。我最近刚刚找到这个网站,它非常有用。我希望我早点知道。我不确定谷歌是如何专注于更新网站的,因为BMB提到供应商的东西已移至2.2中的设备文件夹,但PDK网站没有任何变化来反映这一点。此外,有些链接不起作用,但我可以通过在Google中进行网站搜索来查找所有网页。

    相关问题