【问题标题】:Android - How does an SDK port work?Android - SDK 端口如何工作?
【发布时间】:2011-12-14 01:31:00
【问题描述】:

刚刚看到他们ported Ice Cream Sandwich to the Nexus One

'他们已经'使用 SDK 来创建 ROM。

有人可以概述一下这是如何工作的吗? (如何使用SDK创建ROM)

为什么它允许某些部分工作,但其他部分(如 wifi)不起作用?

【问题讨论】:

  • 我不想做,所以不需要细节。只是想了解这个概念。

标签: android sdk reverse-engineering porting rom


【解决方案1】:

SDK 包含一个 system.img,其中包含手机的大部分固件。除此之外,固件的重要部分是引导加载程序(它是特定于硬件的,而不是特定于 Android 版本的)和内核(它是为硬件配置的,尽管其中可能有一些 Android 版本的细节)。

很可能,他们只是从 system.img 中获取了一些片段,并且能够获得可接受的引导。由于旧内核和新系统映像之间的要求不同,这通常会导致某些部分(如您提到的 wifi)无法工作。

【讨论】:

    【解决方案2】:

    一个可能的工作流程是:

    1. 获取 SDK 并安装它并确保它能够编译程序
    2. 移植意味着“重写系统特定的模块以使整个系统在新平台上工作”。在一个设计良好的系统中,什么是系统相关模块(例如,将字节写入大容量存储器)和什么是更高级别的模块(例如,写入文件)有一个明确的区别。底层系统必须提供的分离和抽象级别由操作系统(在本例中为 Android)的需求决定
    3. ROM 本身可能是一个二进制映像,由引导加载程序加载到 RAM 中(这就是引导加载程序特定于硬件的原因)。然后,引导加载程序将控制权转移到由 SDK 编译和构建的 RAM 映像,其中包含 Nexus One 的特定处理器可以理解的二进制代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      相关资源
      最近更新 更多