将android移植到自定义arm设备需要哪些知识/专业知识?

时间:2009-10-21 21:57:48

标签: android linux arm

我正在开发一个当前运行linux内核和microwindows窗口系统的系统。我可以使用当前的Linux系统驱动程序代码。我想在它上面移植android,就像一个爱好项目。

请告诉我什么对linux-kernel的理解需要移植它?

请给我参考(书籍,教程)以建立理解。

谢谢,Sunny。

P.S。我对linux有基本的了解。

设备配置

450 Mhz ARM9,
64 MB RAM,
256 MB NAND
480x272 resolution.

3 个答案:

答案 0 :(得分:9)

由于您已经在Linux上启动并运行Linux,因此您很可能不需要深入了解内核。但是,需要对其进行修改,以包含以下其他Android特定功能。这可能就像应用一些补丁一样容易,但它可能更复杂。

  • 低记忆杀手
  • Android Logger
  • Android共享内存子系统(Ashmem)
  • Android电源管理(Wakelocks)
  • Binder IPC

在用户空间中,Android使用自己的名为Surface Manager的显示软件,因此您将不会使用Nano-X Window系统(以前称为Microwindows)。

有关端口可能涉及的内容的概述,我会给Android Porting Guide一个读取。

将Android移植到其他基于ARM的设备的网站,其中可能包含有用的提示:

  1. Beagleboard(Cortex)
  2. Zoom OMAP(Cortex)
  3. Nokia Internet Tablet(ARM9E)
  4. Neo 1973(ARM9TDMI)
  5. 英特尔Bulverde评估板(XScale)
  6. Sharp Zaurus SL-C760(XScale)
  7. 可以提供帮助的在线群组:

答案 1 :(得分:6)

要开始移植Android,需要对linux内核的更改有基本的了解。此外,您还需要了解除Linux之外的哪些驱动程序。 linuxfordevices描述了为了Android而改变为Linux内核的内容。他们还提供方便的链接,比如他们所做的改变的差异....

在Android架构上,我发现youtube演示文稿Android架构1很有帮助。

我预计显示分辨率会出现一些问题。 Android应用程序需要许多标准分辨率。作为第一步,我建议将显示限制为下一个较小的尺寸,然后在启动并运行后对其进行改进。

由于我已经研究过Adroid用于电子阅读器,我对自己移植非常感兴趣。出于这个原因,我在Android硬件(移植)上注册了(web based) training。我已经找了关于这个主题的书籍,但我找到的书更多的是使用Android和编写应用程序。

答案 2 :(得分:-3)