如何启动Android内核编程?

Raj*_*ian 52 android

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

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

Ter*_*nce 31

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

更新

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

  • 或者这个问题
  • 或source.android.com
  • 我个人挖这个chrome插件浏览android源代码.


    BMB*_*BMB 11

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

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

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

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