С недавними новостями о том, что Google все больше и больше перемещает Android из ядра Android в Google Play Services, мне стало любопытно.
Если бы я сегодня скачал исходный код Android со страницы AOSP и скомпилировал его, что я получу в итоге? Помимо бинарных драйверов для отдельных аппаратных устройств и различных сервисов Google, получу ли я рабочую версию Android?
Моя мотивация спрашивать это - выяснить, какая часть опыта, который люди ассоциируют с Android, на самом деле является частью AOSP.
Ответы:
Вам не нужно компилировать исходный код, чтобы понять, как выглядит AOSP; если вы загружаете эмулятор Android , он включает в себя образ устройства по умолчанию, который представляет собой просто AOSP, плюс несколько инструментов разработчика без каких-либо служб Google. Это в сумме до:
Почти все основные платформы Android являются частью AOSP (например, система Intent, система разрешений, система Activity / Service, система провайдеров контента, система App Widget, система Daydream, стандартные элементы пользовательского интерфейса, панель уведомлений, Dalvik VM, JIT-компилятор, стандарт Java библиотеки (Apache Harmony), OpenGL и Renderscript, мультимедийная инфраструктура, инфраструктура подключения, GPS, датчики и т. д.). Единственная существенная часть инфраструктуры, которая не является AOSP, - это Google Cloud Messaging, которая занимается сервисом Push, и сервисами Play Store, которые предоставляют обновления приложений, биллинг в приложениях и игровые сервисы. Поскольку эти службы сильно зависят от серверов Google, они не могут быть частью AOSP. Все инструменты разработки Android также являются частью AOSP.
Некоторые важные Google Apps, которые не являются частью AOSP, включают Gmail, Google Maps, Youtube, Google Now, Google+, Chrome, Hangout и Play Store.
Вот несколько скриншотов, взятых из эмулятора Android 4.3:
Лаунчер, с некоторыми стоковыми виджетами, достаточно сказал:
Все приложения в AOSP в значительной степени помещаются на одной странице, так было с ранних версий Android:
Все виджеты:
источник