Если вы говорите о программировании на уровне платформы, т.е. расширения фреймворка, нативные библиотеки и сервисы есть несколько мест для начала.
Первый - это новая и обновленная официальная страница проекта с открытым исходным кодом . В разделах о внесении вклада и портировании содержится некоторая базовая информация об архитектуре платформы и о том, что вам нужно для работы с платформой. Следующим шагом является понимание системы сборки для платформы и фреймворка. Есть некоторая ограниченная информация, доступная в сети, если вы Google для этого. Вероятно, лучше всего изучить некоторые шаблоны make-файлов, доступные в проекте с открытым исходным кодом в папке сборки. Информацию о том, как добавить свои собственные модули с помощью файлов Android.mk, было бы полезно изучить для создания файлов для существующих проектов, например, доступных для внешних в проектах с открытым исходным кодом.
Как только вы достигли уровня, указанного выше. То есть вы знаете основы разработки на уровне платформы и как создавать свои собственные модули для платформы. Следующим шагом является изучение примера расширения платформы, доступного в проекте с открытым исходным кодом. Изучите папку vendor / sample / PlatformLibrary (отредактируйте, начиная с 2.2, материал поставщика перемещен в папку устройства) в проекте с открытым исходным кодом и прочитайте файл readme, изучите код, соберите его и убедитесь, что вы его понимаете. Если вы этого не сделаете, JNI, общие библиотеки, модель безопасности платформы и базовая структура - области, которые могут вам помочь.
Полагаю, что поскольку вы говорите о программировании ядра, вы также ищете способы подключить новое оборудование к платформе и предоставить эту функциональность, используя расширения платформы для приложений. Аппаратное обеспечение в основном добавляется в качестве стандартного драйвера для Linux, так что заставить его работать под Linux - хороший первый шаг. Как подключить его к платформе Android после этого, зависит от того, какое это оборудование. Вы можете использовать собственный процесс для управления им (сравнить сервис камеры или радио-демон на текущей платформе) или просто создать поток в приложении, использующем ваше расширение платформы. Для оборудования, которое не требует особого внимания, можно также подключить его с помощью библиотеки Android HAL.
Я надеюсь, что это даст некоторые начальные указания о том, где искать Официальные списки рассылки являются основным источником информации о разработке на уровне платформы. Особенно Android-портирование и Android-платформа .