Подтвердить что ты не робот

Как запустить Android Kernel?

У меня 6-месячный опыт работы с Android, разработка простых приложений на основе пользовательского интерфейса. Теперь я хочу писать приложения, ориентированные на ядро ​​ядра Android. Например, я хочу разработать фреймворк, которого нет в Android. Для этого нам нужно написать код для ядра. Я не знаю, где и как запустить Android Kernel.

Если кто-нибудь знает, как начать, пожалуйста, помогите мне.

4b9b3361

Ответ 1

  • xda-developers
    Очень удивительное и очень активное место для любого смартфона, связанного с смартфоном.
  • kernelnewbies
    Вообще-то хороший ресурс для начала изучения Linux-ядра
    (от чего и отстроен андроид)
  • Построение ядра Android
    Источник ядра Google
  • Ядро Linux
    Онлайн-руководство по разработке драйверов среди многих других связанных тем.

Update

Для исходного кода Android вы можете проверить одно из следующих...

или этот вопрос или source.android.com

Я лично копаю этот хром-плагин для просмотра исходного кода Android.

Ответ 2

Если вы говорите о программировании на уровне платформы, т.е. расширениям рамок, родным библиотекам и службам есть несколько мест для начала. Первая - новая и обновленная официальная страница с открытым исходным кодом . Части, посвященные внесению и переносу, предоставляют некоторую базовую информацию о архитектуре платформы и то, что вам нужно для работы с платформой. Следующий шаг - понять систему сборки для платформы и инфраструктуры. В сети есть какая-то ограниченная информация, если вы за нее заходите. Лучшим способом, вероятно, является изучение некоторых шаблонов makefile, доступных в проекте с открытым исходным кодом в папке сборки. Для получения информации о том, как добавить свои собственные модули с помощью файлов Android.mk, полезно изучить файлы для существующих проектов, таких как внешние, доступные в проектах с открытым исходным кодом.

Как только вы достигнете вышеуказанного. То есть вы знаете основы разработки уровня платформы и как создать свои собственные модули для платформы, следующий шаг - изучить пример расширения рамки, доступный в проекте с открытым исходным кодом. Проверьте папку vendor/sample/PlatformLibrary (отредактируйте, начиная с версии 2.2, материал поставщика переместился в папку устройства) в проекте с открытым исходным кодом и прочитайте файл readme, изучите код, создайте его и убедитесь, что вы его понимаете. Если вы этого не сделаете, JNI, общие библиотеки, модель безопасности платформы и основная структура - это области, которые могут вам помочь.

Я предполагаю, что, поскольку вы говорите о программном обеспечении ядра, вы также ищете способы подключения нового оборудования к платформе и раскрываете эту функциональность, используя расширения вашей инфраструктуры для приложений. Аппаратное обеспечение в основном добавлено как стандартный драйвер Linux, поэтому заставить его работать под Linux - это хороший первый шаг. Как подключить его к платформе Android после этого, зависит от того, какой тип оборудования он есть. Вы можете использовать собственный процесс для управления им (сравнить службу камеры или радио-демон в текущей платформе) или просто создать поток в приложении, использующем расширение вашей инфраструктуры. Для аппаратного обеспечения, которое не требует большого внимания, включение его в использование библиотеки Android HAL также может быть вариантом.

Надеюсь, это даст некоторые начальные указания о том, где искать. Официальные списки рассылки в остальном являются основным источником информации о развитии уровня платформы. Особенно Android портирование и платформа Android.

Ответ 3

Вы также должны проверить http://pdk.android.com. Недавно я нашел этот сайт и очень полезен. Хотел бы я знать об этом раньше. Я не уверен, как выделенный Google обновляет сайт, потому что, поскольку BMB упомянул, что материал поставщика был перемещен в папку устройства в 2.2, но никаких изменений на PDK-сайте не было, чтобы это отразить. Кроме того, некоторые из ссылок не работают, но я смог найти все страницы, выполнив поиск по сайту в Google.