首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何开始Android内核编程?

如何开始Android内核编程?
EN

Stack Overflow用户
提问于 2010-06-18 21:51:47
回答 2查看 56K关注 0票数 53

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

如果有人知道怎么开始,请帮帮我。

EN

回答 2

Stack Overflow用户

发布于 2010-06-18 22:39:15

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

一旦你达到了上述的程度。也就是说,您知道平台级开发的基础知识,以及如何为平台构建自己的模块。下一步是研究开源项目中可用的框架扩展示例。查看开放源码项目中的vendor/sample/PlatformLibrary文件夹(编辑,从2.2开始,供应商的东西已经移动到设备文件夹),然后阅读自述文件,研究代码,构建它,并确保您理解它。如果没有,那么JNI、共享库、平台安全模型和核心框架是可以帮助您解决问题的领域。

我猜,既然您正在谈论内核编程,那么您也在寻找将新硬件与平台连接起来的方法,并使用您的框架扩展将该功能公开给应用程序。硬件基本上是作为标准的Linux驱动程序添加的,所以让它在Linux下工作是很好的第一步。在此之后,如何将其连接到Android框架取决于它是什么类型的硬件。您可以使用本地进程来控制它(比较当前平台中的相机服务或无线电守护程序),也可以在使用您的框架扩展的应用程序中生成一个线程。对于不需要太多关注的硬件,使用Android HAL库插入也是一种选择。

我希望这提供了一些关于在哪里寻找的初始指针。官方邮件列表是关于平台级开发的主要信息来源。尤其是Android portingAndroid platform

票数 11
EN

Stack Overflow用户

发布于 2010-07-09 05:58:39

你也应该看看http://pdk.android.com。我最近才发现这个网站,它非常有用。我希望我能早点知道这件事。我不确定Google有多专注于更新网站,因为正如BMB提到的那样,供应商的东西在2.2版本中被移到了设备文件夹中,但PDK网站没有任何变化来反映这一点。此外,有些链接不起作用,但我可以通过在Google中进行站点搜索来找到所有页面。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3070159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档