Android - Как работает порт SDK? - PullRequest
3 голосов
/ 24 октября 2011

Только что видел, что они портировали сэндвич с мороженым на Nexus One .

' Они ' сделали это, используя SDK для создания ПЗУ.

Может ли кто-нибудь дать обзор того, как это работает? (Как вы используете SDK для создания ROM)

Почему это позволяет некоторым частям работать, но тогда другие биты (например, Wi-Fi) не работают?

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

Возможный рабочий процесс:

  1. Получите SDK, установите его и убедитесь, что он способен компилировать программы
  2. Портирование означает «переписывание системных модулей, чтобы вся система работала в новой платформе». В хорошо спроектированной системе существует четкое разделение того, что является системно-зависимым модулем (как, например, запись байтов в запоминающее устройство), и тем, что является модулем более высокого уровня (например, запись в файл). Уровень разделения и абстракции, который должна обеспечивать базовая система, определяется потребностями операционной системы (в данном случае Android)
  3. ПЗУ, вероятно, представляет собой двоичный образ, который загружается в ОЗУ загрузчиком (и именно поэтому загрузчик зависит от аппаратного обеспечения). Затем загрузчик передает управление образу ОЗУ, который скомпилирован и собран SDK таким образом, что он содержит двоичный код, понятный конкретному процессору Nexus One.
2 голосов
/ 24 октября 2011

В SDK входит system.img, в котором содержится основная часть прошивки телефона. Кроме того, важными частями прошивки являются загрузчик (который зависит от аппаратного обеспечения, а не от версии для Android) и ядро ​​(которое настроено для аппаратного обеспечения, хотя в нем могут быть некоторые особенности версии Android).

Скорее всего, они просто взяли кусочки из system.img и смогли получить приемлемую загрузку. Обычно это приводит к тому, что некоторые части (например, Wi-Fi, как вы упоминали) не работают из-за различий в требованиях между старым ядром и более новым образом системы.

...