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