0

例如,谁能给出一些具体的例子来说明三星 i9100g 的 Cyanogen Mod 10 和 i9100 的 CM 10 之间的区别?

据我所知,他们有不同的硬件,这就是他们的驱动程序不同的原因,因此他们的 HAL 与其他的非常不同。但是,我希望有一个示例包含 - 可能 - 几行代码。

我知道有很多人想要进入 Android 移植/开发并且不知道如何开始修改/更改什么,我就是其中之一。我认为这个问题的答案将对这些人有益。

4

1 回答 1

3

最大的将是内核和 RIL(无线电接口层)。

不同的设备有不同的硬件。不同的硬件需要不同的驱动程序。如果您有两台类似的设备,通常只需稍作修改即可在同级设备上运行一个操作系统。然而,即使是外观相同的硬件也可能具有截然不同的内部结构。

如果您想进入平台开发,请关注一些这样做的人并查看他们正在做的事情。 jt1134为三星设备做了很多内核和平台开发。CyanogenMod 组织也有很多值得一看的代码,该团队甚至有一个wiki,其中介绍了有关从源代码构建的一些更详细的细节。

您还应该坐在 Freenode 和 Mod-a-droid 服务器上的 Android 开发 IRC 房间里。您可以提出问题,但并不总是期望得到答案。您甚至可以在 freenode 上尝试 PMing jt1134(如果他仍然在那里闲逛),如果您可以说服他您知道自己在做什么 << 就像首先阅读所有公开可用的文档一样,他会非常敏感。

这是您需要遵循的过程的概述。

里程碑:

0.5。设置开发环境http://source.android.com/source/initializing.html

  1. 从 Samsung下载内核源代码。
  2. 编译 Linux 内核。
  3. 浏览source.android.com上的所有开发人员文档
  4. 从googlesource下载 Android 平台源代码。
  5. 进行设备所需的任何修改(例如:您可能需要设备的特定供应商文件(驱动程序),您可能需要一些自定义初始化脚本等)。
  6. 编译android平台<--这需要很长时间

在此之后,您应该拥有可以在您的设备上测试的 Android 开源项目的 OTA 可闪存副本。这个过程花了我大约一个月的时间研究下来,这不是一件容易的事,祝你好运。

于 2012-12-07T20:57:26.757 回答