为Android操作系统开发

3
我希望学习如何开发Android操作系统,以便开始贡献错误修复和补丁。我不感兴趣开发Android应用程序。虽然我已经是一名软件开发人员多年了,但我没有Linux或操作系统开发经验。对于像我这样的人来说,有哪些好的起点呢?
我去过developer.android.com,似乎只适用于在Android上开发应用程序。source.android.com似乎是获取源代码并学习如何设置构建环境的地方,但它似乎并没有提供关于系统内部工作原理或源代码本身的详细信息。我想我可以利用其他与开发其他发行版相关的文档,但是否有专门为Android开发的资源?在进行研究时,针对Android与其他主要发行版之间的开发是否存在任何重大差异需要考虑?
我如何获取与我的特定硬件相关的任何其他技术信息?在浏览论坛时,有些人似乎知道不同手机上存在的特定无线电或GPS硬件型号,甚至了解一个型号可能与另一个型号有所不同的功能。我稍微查了一下,但似乎不能只是谷歌“三星迷人的硬件”并获得组件及其文档的列表。那些进行高级设备编程的人如何获得这些信息?
谢谢,
迈克

1
关于更深入了解操作系统的内部机制,您可以在谷歌上搜索如何创建自定义ROM,并可能自己创建一个。xda.com通常提供有关自定义ROM和内核的良好信息,但仅在谷歌搜索中包含字母“xda”比在xda网站上搜索更有效。 - Reed
@Bill,我应该如何表达这个问题?因为我特别提到了Android,所以它不具有建设性吗?如果问题改成“我可以去哪里学习操作系统开发?”是否更好?我经常看到类似的问题,比如https://dev59.com/AG855IYBdhLWcg3weUMQ,它们都是完全有效的。人们想要学习新技术、语言或平台,他们会问在哪里可以获取这些信息。我并不想争论,我只是想更好地理解什么是可接受的范围,什么是不可接受的。 - mclark1129
实际上,那些要求推荐的旧问题也应该被关闭,因为它们不具有建设性。我理解这很可能不会引起争论,但它是在寻求意见和延伸讨论。 - Bill the Lizard
1个回答

3
核心问题是,Android更多地是“开源”而不是“开放贡献”的(并且源代码已经很久没有开放了)。没有太多的人在修补android核心,因此提供大量文档的时间不值得。但是有一些东西可以找到。第一个地方可能是android-contrib谷歌小组,以及其他社区小组。您还应该查看Oreilly书籍Embedded Android,这是我见过的唯一一本这种类型的书。如果您对架构感兴趣,则Oreily的另一本书Programming Android非常好。但它面向的是为操作系统开发应用程序的人。我的建议是耐心等待Android 4.0的源代码发布,并查看其在贡献方面是否更加开放。或者去Google、Amazon或Samsung找工作。

谢谢,我认为嵌入式安卓可能是我开始学习的好地方,因为在这样低层次的编程上,我可能相对落后。 - mclark1129

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接