Как начать Программирование ядра Android?
У меня есть 6-месячный опыт работы с Android, разработка простых приложений на основе пользовательского интерфейса. Теперь я хочу писать приложения, ориентированные на ядро ядра Android. Например, я хочу разработать фреймворк, которого нет в Android. Чтобы достичь этого, мы должны написать код для ядра. Я не знаю, где и как начать Программирование ядра Android.
Если кто-нибудь знает, как начать его, пожалуйста, помогите мне.
3 ответа:
- xda-developers
очень удивительное и очень активное место для всего, что связано с умным смартфоном.- kernelnewbies
Вообще хороший ресурс для начала обучения ядра linux
(это то, что android построен от)- Создание Ядра Android
Источник Ядра Android
- ядра Linux
онлайн руководство по разработке драйверов среди многих других смежных тем.
обновление
для исходного кода android вы можете проверить одно из следующих...
или этот вопрос или source.android.com я лично копать этот плагин chrome для просмотра исходного кода Android.
Если вы говорите о программировании на уровне платформы, т. е. расширениях фреймворка, собственных библиотеках и службах, есть несколько мест для начала. Первый - это новый и обновленный официальная страница проекта с открытым исходным кодом. Части О внесении вклада и переносе предоставляют некоторую базовую информацию об архитектуре платформы и о том, что вам нужно для работы с платформой. Следующий шаг-понять систему сборки для платформы и рамок. Есть некоторая ограниченная информация доступно в сети, Если вы google для него. Лучший способ, вероятно, изучить некоторые шаблоны makefile, доступные в проекте с открытым исходным кодом в папке сборки. Для получения информации о том, как добавить свои собственные модули с помощью Android.mk файлы это хорошая вещь, чтобы изучить сделать файлы для существующих проектов, таких как те, которые доступны во внешнем в проектах с открытым исходным кодом.
Как только вы добрались до вышеуказанного. То есть вы знаете основы разработки уровня платформы и как построить свой собственные модули для платформы следующим шагом является изучение основ пример расширения существующих в проекте с открытым исходным кодом. Проверьте папку vendor/sample/PlatformLibrary (edit, начиная с 2.2 материал поставщика переместился в папку устройства) в проекте с открытым исходным кодом и прочитайте файл readme, изучите код, постройте его и убедитесь, что вы его понимаете. Если вы этого не сделаете, JNI, общие библиотеки, модель безопасности платформы и базовая платформа-это области, которые могут помочь вам.
I предположим, что, поскольку вы говорите о программировании ядра, вы также ищете способы подключения нового оборудования к платформе и предоставления этой функциональности с помощью расширений фреймворка для приложений. Аппаратное обеспечение в основном добавляется в качестве стандартного драйвера Linux, поэтому его работа под Linux является хорошим первым шагом. Как подключить его к Android framework после этого зависит от того, какой тип оборудования это. Вы можете использовать собственный процесс для управления им (сравните службу камеры или радио-демон в текущей платформе) или просто порождает поток в приложении, которое использует расширение вашей платформы. Для оборудования, которое не требует такого большого внимания, подключение его с помощью библиотеки Android HAL также может быть вариантом.
Я надеюсь, что это дает некоторые начальные указатели на то, где искать. Официальные списки рассылки являются основным источником информации об уровне развития платформы. Особенно Android портирование и Android платформа.
вы также должны проверить http://pdk.android.com. я только что нашел этот сайт недавно, и это очень полезно. Хотел бы я знать об этом раньше. Я не уверен, насколько выделен Google для обновления сайта, потому что, как упоминал BMB, материал поставщика был перемещен в папку устройства в 2.2, но на сайте PDK не было никаких изменений, чтобы отразить это. Кроме того, некоторые ссылки не работают, но мне удалось найти все страницы, выполнив поиск в Google.