Android Open Source Project
AOSP важливий не лише для Google чи виробників смартфонів.; Практична роль: GSI сприяє перевірити, наскільки пристрій має змогу працювати з generic Android system image, а не лише з прошивкою виробника.; * захисту від відомих exploit;
- enterprise compliance;
- банківських застосунків;
- privacy;
- Play Integrity;
- довіри до пристрою;
- безпечного використання інтернету.; Цікавий факт: Binder — одна з тих технологій Android, яку звичайний користувач системи ніколи не бачить, але без неї Android-застосунки не могли б нормально говорити із системою.;
Kernel відповідає за: Збірка AOSP зазвичай потребує Linux-середовища, багато дискового простору, RAM, інструментів і часу.; Водночас робота з AOSP складна: потрібні знання build system, HAL, kernel, SELinux, device tree, vendor blobs, security patches і compatibility testing.; * Android security documentation.;== Коли AOSP має змогу бути невдалим вибором == <div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> </div> AOSP-розробка відрізняється від звичайної Android app development.; * AOSP відкритий, але сучасний Android-смартфон часто залежить від закритих camera, modem, GPU і firmware-компонентів.; У реальному проєкті потрібні правильний target, device configuration, vendor blobs, залежності й документація для конкретного пристрою.;</div> * API behavior; * permissions; * security; * media; * graphics; * framework behavior; * app compatibility; * platform requirements; * system behavior; * відповідність CDD.; Android permission model контролює, до чого застосунки мають доступ.; App development значно простіший за platform development.; Android на комерційному смартфоні '''Правило:''' AOSP дає permission model, але приватність користувача залежить і від прошивки, і від застосунків, і від налаштувань.;== Висновок == <div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;"> </div> == переважні аспекти AOSP == * Google Play Store; * Google Play Services; * Google Maps; * Gmail; * YouTube; * Google Search; * Google Assistant; * Google Photos; * Firebase/Google API інтеграції в частині застосунків; * push notifications через FCM; * SafetyNet/Play Integrity-подібні сервіси.;</div> '''істотно:''' Android базується на Linux kernel, але не функціонує як звичайний desktop Linux із GNOME, systemd і класичними пакетними менеджерами.;== технічна архітектура AOSP == '''Практична роль:''' Android app developer створює застосунок для Android, а AOSP developer змінює саму платформу, на якій ці застосунки працюють.; '''Android Framework''' — високорівневий шар, через який застосунки працюють із системою.; cd aosp * open source apps; * privacy-friendly apps; * альтернатив Google-застосункам; * легких утиліт; * локальних інструментів; * community app ecosystem.;</div> </div> == Verified Boot == AOSP має багатошарову архітектуру.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> * AOSP — це причина, чому Android має змогу існувати в такій кількості форм: телефони, планшети, телевізори, автомобілі, handheld-пристрої й кастомні ROM.; Якщо в ній погані конфігурація, застарілі patches або сумнівні застосунки, вона має змогу бути небезпечнішою за офіційно затверджений Android.; '''LineageOS''' — один із найвідоміших прикладів custom ROM, побудованих на основі Android/AOSP.; * remote control UX; * Leanback UI; * media playback; * DRM; * HDMI; * audio/video codecs; * streaming apps; * Google TV або vendor UI; * certification; * app compatibility; * low-latency media.; '''Device tree''' у контексті Android-прошивок — набір конфігурацій і описів, які допомагають зібрати Android для конкретного пристрою.; завдяки наявності '''Hardware Abstraction Layer''' або '''HAL''' — шар, який користувачі можуть Android працювати з hardware через стандартизовані інтерфейси.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> всіх документацію й вихідний код Android забезпечується через Офіційна документація Android описує AOSP як доступні; додатково реалізовано які можна використовувати для створення власних варіантів Android OS.;</div> '''Критично:''' розблокований bootloader, застаріла custom ROM або permissive SELinux можуть звести нанівець багато переваг Android security model.; Custom ROM має змогу додавати: </div> m '''Практична порада:''' AOSP варто вивчати, якщо цікаво не без ускладнень писати Android-застосунки, а розуміти, як функціонує сама Android-платформа.; Для конкретного пристрою потрібні device tree, vendor files, kernel, правильний target і додаткові інструкції.; * створення Android-прошивок; * розробки системних компонентів; * портів Android на нові пристрої; * custom ROM; * vendor ROM; * Android TV-подібних систем; * automotive-систем; * embedded Android; * тестування Android framework; * дослідження мобільних ОС; * security research; * навчання системній розробці; * створення GSI; * розробки HAL і драйверної інтеграції; * перевірки сумісності з Android APIs.;<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;"> <div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> </div> </div> * новий Android для старого пристрою; * інший launcher; * privacy-функції; * root-friendly середовище; * додаткові конфігурація; * мінімальні Google-застосунки або їх відсутність; * performance tweaks; * security patches; * інший дизайн; * додатковий контроль.; Без нього керувати вихідним кодом Android було б значно важче.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> </div> <div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;"> '''Compatibility Test Suite''' або '''CTS''' — набір тестів для перевірки сумісності Android-пристрою.; AOSP </div> <div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
Manifest визначає:
Помилка: думати, що AOSP можна без ускладнень зібрати й одразу отримати повноцінну заміну офіційній прошивці для будь-якого смартфона.; repo init -u https://android.googlesource.com/platform/manifest -b android-latest-release
- board configuration;
- product makefiles;
- partition layout;
- kernel parameters;
- init scripts;
- hardware features;
- sepolicy;
- vendor integration;
- build targets;
- device-specific overlays.;
AOSP і Google Mobile Services
Проста аналогія: Treble намагається зробити так, щоб “верх Android” можна було оновлювати без повного переписування “низу” від виробника.; * виробників;
- модифікації коду;
- публікації змін;
- використання kernel;
- compliance;
- vendor obligations;
- open source notices;
- юридичного аудиту;
- комерційних продуктів.; Android Things був Google-напрямом для IoT, але пізніше був закритий як загальна платформа.; * Android Compatibility Definition Document.;
source build/envsetup.sh
Приклади сценаріїв використання
AOSP має змогу бути основою для Android TV-подібних систем, smart TV і медіапристроїв.; Він просить Android Framework зробити потрібну дію через офіційні API.;== Приклад спрощеної збірки AOSP ==
- які репозиторії потрібні;
- які гілки використовувати;
- які ревізії завантажити;
- структуру source tree;
- відповідність релізу;
- набір компонентів платформи.; це відкритий проєкт.;
AOSP має обмеження.; * infotainment;
- vehicle HAL;
- multi-display;
- audio zones;
- car settings;
- automotive UX;
- Google Automotive Services у сертифікованих сценаріях;
- vendor customization;
- long-term support.;
Android Studio зазвичай застосовується для розробки Android-застосунків, а не для повної збірки AOSP.; * спілкування застосунків із system services;
- IPC між процесами;
- permission checks;
- service manager;
- Android Framework;
- AIDL;
- безпечної взаємодії компонентів;
- системної архітектури Android.; :contentReference [oaicite:2]{index=2}
Можливі проблеми:
Build system
Критично: AOSP-прошивка не є собою автономно приватною.; Рекомендовано:
Automotive infotainment
Перевага: AOSP надає можливість виробникам і розробникам не створювати мобільну ОС з нуля, а брати готову Android-платформу й адаптувати її під пристрій.; Android — це ширша назва операційної системи й екосистеми.; AOSP є собою фундаментом, на якому будуються Android-пристрої, кастомні прошивки, vendor-системи, емулятори, дослідницькі збірки і багато комерційних Android-варіантів.; * Project Treble documentation.;
AOSP і форки Android
Суть Framework: застосунок не керує телефоном напряму.;
- використовувати офіційну документацію source.android.com;
- починати з підтримуваного target або emulator;
- використовувати `android-latest-release` для актуальної розробки;
- мати достатньо місця на диску;
- не змішувати випадкові patches;
- контролювати device tree;
- документувати vendor blobs;
- тримати SELinux enforcing;
- запускати CTS/VTS у серйозних проєктах;
- перевіряти security patches;
- тестувати OTA;
- мати backup перед прошиванням;
- не зберігати важливі інформаційні дані на тестових збірках;
- вести changelog;
- використовувати code review.;
AOSP добре підходить, якщо потрібно:
- shell на пристрої;
- встановлення APK;
- перегляду logs;
- копіювання файлів;
- debugging;
- керування emulator;
- запуску команд.;
AOSP має змогу бути не найкращим вибором, якщо:
AOSP є собою основою оновлень Android, але шлях актуалізація до конкретного смартфона складніший.;Хороші практики AOSP
System apps можуть включати:
Цікавий факт
Саме з цієї причини два пристрої можуть обидва бути “Android”, але відчуватися дуже по-різному: один має майже чистий AOSP-інтерфейс, інший — важку оболонку виробника, власні застосунки, інший launcher, інші конфігурація камери й додаткові сервіси.;== SELinux в Android ==
SELinux сприяє:
істотно: актуальна реліз Android і доступність конкретних гілок AOSP змінюються, з цієї причини для розробки завжди потрібно перевіряти офіційну документацію source.android.com.;
ART відповідає за:
- актуальні security patches;
- SELinux enforcing;
- Verified Boot;
- правильні permissions;
- захищений bootloader;
- шифрування даних;
- безпечний update system;
- trusted firmware;
- vendor patching;
- CTS/security testing;
- secure key storage;
- ізоляція застосунків;
- Play Integrity або альтернативні trust-механізми в залежності від екосистеми.; Для керування ними застосовують, коли потрібно інструмент Repo і manifest-файли.; Практична роль: AOSP — це загальна платформа, а device tree пояснює, як саме ця платформа має працювати на конкретному телефоні.; LineageOS показує, як AOSP має змогу стати фундаментом для community-проєкту, який підтримує роботу багато пристроїв, додає власні функції й часто продовжує життя старих смартфонів.;
Compatibility Test Suite
AOSP і F-Droid
AOSP і безпека
Дозволи можуть стосуватися:
- Офіційна документація Android Open Source Project.;
Compatibility Definition Document
розробка програмного забезпечення AOSP
|- | Код | Відкрита основа Android | AOSP + vendor code + firmware + сервіси + оболонка |- | Google Play | Не входить за замовчуванням | є собою лише на сертифікованих пристроях із GMS |- | Драйвери | Не містить усіх закритих драйверів конкретного пристрою | Постачається виробником |- | Інтерфейс | Базовий Android | має змогу бути Pixel UI, One UI, HyperOS, ColorOS тощо |- | Призначення | Основа для збірки й кастомізації | Готовий програмний продукт для користувача |}
Custom ROM
{{SEO
Практична роль: Repo для AOSP — це як диспетчер великої бібліотеки Git-репозиторіїв.; * AOSP architecture overview.;Цікавий факт: завдяки наявності AOSP старий телефон іноді має змогу отримати нове життя через custom ROM, навіть якщо виробник уже давно припинив офіційні актуалізація.; * Багато Android-функцій, які користувач системи сприймає як “без ускладнень телефон”, насправді проходять через складний ланцюг: app → framework → system service → HAL → driver → hardware.; Студент або розробник збирає AOSP в емуляторі, змінює системний компонент і дивиться, як це впливає на роботу Android.; Основні шари:
Android Automotive OS застосовується в автомобільних infotainment-системах і тісніше інтегрується з автомобільним hardware, ніж звичайний Android Auto.; * Google Play Services;
- Firebase Cloud Messaging;
- Google Maps API;
- Play Integrity;
- billing через Google Play;
- proprietary media services;
- vendor-specific APIs;
- DRM;
- push notification infrastructure.; Небезпека: погано зібрана або застаріла AOSP-прошивка має змогу бути менш безпечною, ніж офіційна прошивка виробника.;== Linux kernel в Android ==
Android здається “однією ОС”, але насправді це ціла програмний пакет шарів.;== AOSP і приватність ==
- процеси;
- пам’ять;
- драйвери;
- файлові системи;
- мережу;
- security primitives;
- scheduling;
- power management;
- device nodes;
- ізоляцію;
- hardware access.; * Custom ROM-спільноти існують саме завдяки наявності з цієї причини, що AOSP дає відкриту основу для Android.; * source tree;
- device configuration;
- product configuration;
- lunch targets;
- Soong;
- Blueprint;
- Make-файлами в частині legacy;
- vendor blobs;
- kernel artifacts;
- system images;
- boot images;
- OTA packages.; Але Android — це не “звичайний Linux-дистрибутив”.;== Generic System Image ==
організація створює спеціальну AOSP-збірку для термінала самообслуговування, де користувач системи бачить лише один контрольований застосунок.; Android 16 є собою актуальною великою версією Android у сучасній документації Android.; AOSP — лише ядро цієї екосистеми в широкому сенсі: framework, системні сервіси, базові застосунки, build system, HAL-інтерфейси, runtime, частина інструментів і документація.; Security patch важливий для:
Security patches
ADB застосовується для:
- швидших оновлень;
- стабільніших vendor interfaces;
- розділення system і vendor;
- GSI;
- porting;
- підтримки різних пристроїв;
- зменшення залежності framework від vendor-коду.; Багато компонентів конкретного пристрою можуть бути закритими.; Це ще device support, security, testing, updates, документація й відповідальність за користувача.; CDD важливий для:
Це лише загальна схема.; Fastboot застосовується для:
- запуск застосунків;
- виконання байткоду;
- компіляцію;
- garbage collection;
- performance;
- memory management для app runtime;
- оптимізацію запуску;
- інтеграцію з Android Framework.;</syntaxhighlight>
Permissions
- камери;
- мікрофона;
- геолокації;
- контактів;
- SMS;
- storage;
- Bluetooth;
- notifications;
- sensors;
- background activity;
- phone state;
- nearby devices.;
істотно: AOSP-система без GMS має змогу запускати APK, але не всі застосунки працюватимуть повноцінно.; Ліцензії важливі для:
Офіційна документація описує AOSP як публічно доступний і змінюваний Android source code, що надає повну й функціональну реалізацію Android mobile platform.;
Android security patches виправляють уразливості в системі, framework, kernel, drivers або vendor-компонентах.;== AOSP і ліцензії == До GMS можуть належати: AOSP — це відкритий вихідний код Android-платформи.; Поширені помилки: Практична роль: F-Droid часто доповнює AOSP-системи, де немає Google Play або користувач системи хоче більше open source-застосунків.; * Android Compatibility Test Suite documentation.; * камери;
- GPU;
- modem;
- Wi-Fi;
- Bluetooth;
- audio DSP;
- sensors;
- fingerprint reader;
- face unlock hardware;
- proprietary firmware;
- hardware acceleration.; Практична роль: HAL — це міст між універсальним Android framework і конкретним залізом конкретного телефона.;== Цікаві факти про AOSP ==
- плутати AOSP і Google Android;
- чекати Google Play у чистому AOSP;
- не враховувати vendor blobs;
- не читати device-specific документацію;
- вимикати SELinux для “простоти”;
- прошивати ключовий телефон без backup;
- не розуміти різницю між app development і platform development;
- недооцінювати build time;
- не перевіряти CTS;
- не оновлювати security patches;
- ігнорувати bootloader і Verified Boot;
- ставити random ROM із невідомого джерела;
- очікувати ідеальну камеру в чистому AOSP.;== Android Runtime ==
Android-based kiosk
repo init -u https://android.googlesource.com/platform/manifest -b android-latest-release
- створити Android-based OS;
- вивчити архітектуру Android;
- розробляти platform-level компоненти;
- робити custom ROM;
- адаптувати Android для пристрою;
- тестувати Android framework;
- працювати з HAL;
- будувати embedded Android;
- створювати GSI;
- досліджувати security model;
- навчатися системній мобільній розробці;
- робити privacy-focused Android-варіант;
- створювати kiosk або dedicated device.; З 27 березня 2025 року офіційна документація рекомендує platform developers використовувати `android-latest-release` замість `aosp-main` для збірки й внесків в AOSP; цей manifest вказує на latest AOSP release branch.; істотно: “Android open source” не означає, що весь Android-смартфон в цілому відкритий.; Головна думка: AOSP — це не готовий смартфон у вигляді коду, а фундамент Android.;
- framework;
- native services;
- system apps;
- HAL;
- SELinux policies;
- build system;
- init;
- kernel integration;
- device configuration;
- CTS failures;
- platform APIs;
- system permissions;
- boot images;
- OTA;
- debugging system services.;== AOSP і кастомізація виробників ==
Binder IPC
- потрібно без ускладнень створити Android-застосунок;
- потрібен готовий Google Play-пристрій;
- немає команди для підтримки прошивки;
- немає vendor blobs;
- немає device tree;
- потрібна повна сумісність банківських застосунків;
- важлива офіційна сертифікація;
- потрібні найкращі camera features виробника;
- потрібні OTA-оновлення без власної інфраструктури;
- потрібна проста ОС для маленького мікроконтролера;
- немає часу на build system і debugging.; Підказка: найкраще починати з AOSP emulator або офіційно підтримуваних build targets, а не з випадкового телефона без документації.; AOSP має власну систему збірки, яка надає можливість зібрати Android для конкретного target.;
Практична роль: зібрати AOSP — це не без ускладнень натиснути “Build”.; :contentReference [oaicite:5]{index=5}
Verified Boot важливий для:
- launcher;
- settings;
- dialer;
- contacts;
- messaging;
- camera у базовому вигляді;
- package installer;
- system UI;
- documents UI;
- input methods;
- basic browser або web components у відповідних збірках.;== Android Studio і AOSP ==
- ізолювати процеси;
- обмежувати system services;
- захищати vendor components;
- контролювати доступ до файлів;
- зменшувати наслідки exploit;
- enforce policy;
- підтримувати Android security model.;
Практична роль: AOSP дає свободу створювати Android-варіанти, але якість такого варіанту залежить від команди, hardware, оновлень і security-процесів.; * мінімум попередньо встановлених сервісів;
- відсутність GMS;
- власні open source-застосунки;
- контроль permissions;
- firewall-рішення;
- локальні сервіси;
- privacy-focused ROM;
- F-Droid-подібні джерела застосунків;
- self-hosted sync.;
- виробників пристроїв;
- Android compatibility;
- API behavior;
- hardware requirements;
- software requirements;
- app compatibility;
- сертифікації;
- однакової поведінки застосунків;
- ecosystem consistency.;
Generic System Image або GSI — generic Android system image, який застосовується для тестування сумісності Treble-пристроїв.; :contentReference [oaicite:4]{index=4}
Застосунки для Android зазвичай не “знають”, чи пристрій функціонує на AOSP, Pixel Android, Samsung One UI або іншій оболонці.; CTS перевіряє: Android Open Source Project — це відкрита основа Android, яка надає можливість створювати власні Android-системи, кастомні прошивки, vendor ROM, automotive-рішення, TV-платформи, dedicated devices і дослідницькі збірки.; Проте сама ідея Android у embedded-сценаріях залишається через vendor-рішення, Android Automotive, Android TV, handheld devices і спеціалізовані пристрої.; істотно: AOSP-застосунок камери або launcher — це не те саме, що Pixel Camera, Samsung Camera або інша vendor-реалізація.; Критично: старий Android без security patches має змогу бути ризиковим, навіть якщо телефон “ще нормально функціонує”.; Framework надає API для:
GSI корисний для:
Основна ідея: AOSP — це відкрита основа Android.; lunch
Google Mobile Services або GMS — це набір Google-застосунків і сервісів, які не є собою без ускладнень частиною AOSP.; Project Treble — архітектурний підхід Android, який розділяє Android framework і vendor implementation.; Проста аналогія: AOSP — це не один застосунок і не одне ядро, а цілий набір поверхів: від Linux kernel до кнопок, вікон, дозволів і системних сервісів.; Android у магазинному смартфоні часто складається з AOSP, драйверів виробника, firmware, Google Mobile Services, застосунків виробника, оболонки, сертифікації та додаткових сервісів.; * Android Developers documentation.; Вони працюють через Android APIs.; Значна частина Android-платформи поширюється під Apache License 2.0, але kernel-компоненти пов’язані з GPL через Linux kernel.; істотно: не прошивайте власну збірку на реальний пристрій без повного backup, розуміння bootloader, recovery і способу відновлення.; !; Для маленьких MCU краще підходять RTOS на кшталт FreeRTOS або Zephyr.;істотно: AOSP можна адаптувати для різних пристроїв, але не кожному embedded-пристрою потрібен повний Android.; AOSP без Google-сервісів часто цікавить людей, які хочуть більше контролю над пристроєм.; F-Droid корисний для: істотно: Pixel Android близький до Google-бачення Android, але це не голий AOSP.; Практична роль: adb — це “розмова з Android, коли він запущений”, а fastboot — “розмова з пристроєм на нижчому рівні завантаження”.; repo sync
Джерела
Treble важливий для:
System apps
- не містить Google Play за замовчуванням;
- не містить усіх proprietary drivers;
- не гарантує підтримку конкретного телефона;
- складна збірка;
- великий source tree;
- потрібні vendor blobs;
- потрібна device-specific інтеграційні функціональні можливості;
- не всі застосунки працюють без GMS;
- потрібні security patches;
- custom ROM має змогу бути нестабільною;
- сертифікація складна;
- актуалізація залежать від виробника або maintainer-ів;
- camera якість часто залежить від закритих vendor-компонентів.; * AOSP overview.;== Android Framework ==
Головне правило: AOSP-проєкт — це не лише код.; * Android app developer і AOSP platform developer — це дуже різні ролі.;== Repo і manifests ==
Збірка AOSP
Build system функціонує з:
Vendor blobs — закриті binary-компоненти від виробника пристрою або чипсета.;Binder потрібен для:
Найлюдяніший факт: AOSP — це як “скелет і нервова платформа” Android.; AOSP має багато security-механізмів, але безпечний Android-пристрій — це не лише AOSP.; Потрібно мати device tree, vendor components, правильний target і багато місця на диску.; repo sync -c -j8 Практична роль: CDD сприяє зробити так, щоб Android-застосунок не поводився зовсім по-різному на кожному пристрої.; AOSP дає вихідний код і документацію Android-платформи, але не замінює Google Mobile Services, vendor drivers, сертифікацію, device-specific інтеграцію й бізнес-процес оновлень.; Виробники й розробники мають дотримуватися ліцензійних вимог.; * AOSP source tree настільки великий, що перше завантаження має змогу стати окремим випробуванням для диска й інтернету.; :contentReference [oaicite:3]{index=3} Основні переважні аспекти AOSP: Окремо варто відзначити у межах якого доступні вихідний код, документація й базова реалізація операційної системи Android виступає ключовою рисою Android Open Source Project або AOSP.; Критерій
AOSP у automotive-сценаріях важливий для:
- Repo;
- командний рядок;
- Linux build host;
- Android build system;
- emulator;
- adb;
- fastboot;
- debugging tools;
- source.android.com документація.;
Головна перевага: AOSP зробив Android не однією закритою системою, а платформою, яку можуть адаптувати виробники, спільноти й дослідники.;== Див.; додатково ==
Binder — механізм міжпроцесної взаємодії в Android.; AOSP надає можливість створювати форки Android.;== adb і fastboot ==
Команда створює Android ROM без Google-сервісів, із посиленими privacy controls і мінімальним набором системних застосунків.;Для AOSP частіше потрібні:
Навчання Android internals
Коли варто використовувати AOSP
AOSP і Android TV
- відкритий вихідний код Android;
- можливість кастомізації;
- велика програмний пакет;
- Android Framework;
- сумісність із Android APIs;
- основа для custom ROM;
- основа для vendor ROM;
- документація;
- build system;
- security model;
- Linux kernel foundation;
- HAL-архітектура;
- Treble;
- GSI;
- можливість дослідження й навчання;
- глобальний вплив на мобільні пристрої.; * Android 16 release notes.; Custom ROM — неофіційна або community-прошивка Android, часто побудована на AOSP.; Йому потрібен окремий TV-досвід.; Потрібні:
Android використовує SELinux для mandatory access control.; Він дав світові Android як гнучку платформу, яку можна адаптувати до різних пристроїв і сценаріїв.; Device tree має змогу містити:
Практична роль: Android TV-пристрій — це не без ускладнень телефонний Android на великому екрані.;Виробники пристроїв беруть AOSP і додають власні компоненти.; Але приватність залежить від конкретної прошивки.;== AOSP і Pixel ==
Критично: вимкнення SELinux або permissive-режим у production-прошивці має змогу серйозно знизити безпеку пристрою.; Pixel має багато додаткових Google і device-specific компонентів.; Google Pixel використовує Android із Google-сервісами, Pixel-specific features, proprietary components і офіційними оновленнями від Google.;Форки можуть бути:
Типові помилки початківців
Device tree
Project Treble
Потрібні:
Але проблеми можуть виникати, якщо застосунок залежить від:
- камери;
- аудіо;
- сенсорів;
- GPS;
- Bluetooth;
- Wi-Fi;
- NFC;
- біометрії;
- графіки;
- радіомодуля;
- power management;
- vendor-specific hardware.; Найцікавіше: AOSP — це причина, чому Android має змогу існувати не лише як Google Pixel, а як величезна сім’я пристроїв: смартфони, планшети, телевізори, автомобільні системи, POS-термінали, handheld-пристрої й кастомні прошивки.;
AOSP-розробник має змогу працювати з:
Можливі privacy-сценарії:
AOSP і Android Automotive
AOSP містить базові системні застосунки й компоненти, але вони не завжди збігаються з Google-застосунками на комерційному Android.;== AOSP і застосунки ==
AOSP не потрібно плутати з “усім Android на телефоні”.; Офіційна сторінка Android Developers зазначала availability of the source code at the Android Open Source Project для Android 16.; * Документація щодо Repo, manifests, GSI, HAL, ART, SELinux, Verified Boot, custom ROM і Android build system.;== AOSP і Android Things ==
- захисту від підміни system image;
- перевірки boot chain;
- виявлення модифікацій;
- integrity;
- device trust;
- enterprise security;
- захисту користувацьких даних;
- сумісності з security expectations.; Практична роль: Verified Boot сприяє користувачу й системі знати, чи не була прошивка змінена неочікуваним способом.;=== Privacy-focused Android ===
- Linux kernel;
- hardware abstraction layer;
- native libraries;
- Android Runtime;
- system services;
- Android Framework;
- system apps;
- permissions;
- package manager;
- media stack;
- graphics stack;
- telephony;
- connectivity;
- security model;
- build system;
- compatibility tools.; істотно: custom ROM має змогу бути корисною, але встановлення прошивки має ризики: bootloop, втрата даних, проблеми з банківськими застосунками, гарантією й безпекою.;== AOSP і Android ==
- перевірки Treble;
- тестування AOSP;
- development;
- compatibility testing;
- porting;
- debugging vendor implementation;
- перевірки чистішого Android system image.;
- Google Mobile Services;
- Pixel Launcher;
- Pixel Camera;
- proprietary drivers;
- Tensor-specific components;
- Pixel Feature Drops;
- Google AI features;
- Play Integrity;
- vendor configuration;
- device-specific optimizations.; істотно: без ускладнень зібрати AOSP недостатньо для комерційного Android-пристрою.;
Pixel має змогу містити:
Hardware Abstraction Layer
Цікавий факт: Android на Samsung, Xiaomi, OnePlus, Sony і Pixel має спільну AOSP-основу, але виробники можуть так сильно змінити верхні шари, що користувач системи бачить зовсім різний досвід.; lunch
Android Runtime або ART — середовище виконання Android-застосунків.; * новий AOSP release;
- адаптація виробника;
- vendor drivers;
- kernel updates;
- security patches;
- carrier testing у частині ринків;
- CTS;
- OTA infrastructure;
- device-specific testing;
- підписані образи;
- rollout.; Перед збіркою потрібно мати достатньо місця на диску й стабільне інтернет-з’єднання.; AOSP застосовується для:
Vendor blobs
<syntaxhighlight lang="bash">
істотно: Android Studio і AOSP — пов’язані, але не однакові світи.;ADB і fastboot — важливі інструменти Android-розробки й тестування.; mkdir aosp Розробник бере AOSP, device tree, vendor blobs і patches спільноти, щоб створити новішу Android-прошивку для пристрою, який виробник уже не оновлює.;== LineageOS ==
У TV-сценаріях важливі:
- Activity;
- Service;
- BroadcastReceiver;
- ContentProvider;
- permissions;
- notifications;
- location;
- camera;
- media;
- storage;
- window management;
- input;
- sensors;
- telephony;
- connectivity;
- accessibility.; Над kernel є собою Android-specific шари: Binder IPC, Android Framework, ART, HAL, permission model, package manager і системні сервіси.; Вони можуть бути потрібні для:
актуалізація Android
- launcher;
- settings;
- camera app;
- power management;
- theming;
- system services;
- update system;
- device care tools;
- cloud services;
- app store;
- gestures;
- security features;
- AI-функції;
- vendor UX;
- preinstalled apps.; * vendor ROM;
- custom ROM;
- privacy-focused OS;
- Android без GMS;
- enterprise Android;
- kiosk OS;
- smart TV system;
- automotive system;
- device-specific firmware;
- research OS.;=== Custom ROM для старого телефона ===
- Android
- Android Studio
- Android SDK
- Android Runtime
- Linux kernel
- Google Mobile Services
- Google Play
- Project Treble
- Generic System Image
- LineageOS
- Custom ROM
- ADB
- Fastboot
- HAL
- SELinux
- Verified Boot
- Android Automotive
- Android TV
- Google TV
- Mobile operating system
- Open source
- Операційна система
- Безпека застосунків
- Приватність даних
Типова логіка: