На даний момент Android є найпопулярнішою ОС для мобільних пристроїв. Він працює на різних платформах з різною конфігурацією обладнання. Потрібно багато інженерних зусиль, щоб створити Android BSP, що повністю відповідає потребам кінцевого користувача.
Я розповім, як шматок скла та металу стає пристроєм, що працює на Android.
Я проведу вас основними фазами розробки компонентів Android, поясню різницю між Android та AOSP, і розповім про процес сертифікації Google.
14. 14
Android partitions
System apps
Java Framework
Native C/C++
libs
Android
Runtime
HAL
Linux kernel
vintf
system
vendor
boot
bootloader
userdata
odm
product
Common
SoC specific
Product specific
16. 16
Before A/B updates
Current Android
version recovery
Before update
Current Android
version reboot
Recovery
/tmp
Next Android
version
/tmp
Next Android
version
After update
Flash
Next Android
version
22. 22
Android compatibility program
● The Android Compatibility program defines
technical details of the Android platform and
provides tools for OEMs to ensure developer
applications run on a variety of devices.
● The Android SDK provides built-in tools for
developers to clearly state the device features
required by their applications.
● Google Play shows applications only to those
devices that can properly run those
applications.
23. 23
The CDD represents the "policy" aspect of
Android compatibility.
This document enumerates the requirements
that must be met in order for devices to be
compatible with Android.
The CDD's role is to codify and clarify specific
requirements, and eliminate ambiguity.
Android Compatibility Definition Document (CDD)
AOSP CDD
24. 24
The CTS represents the "mechanism" of
compatibility.
The CTS is an automated testing suite that
uses two major software components:
• The CTS Trade Federation test harness
runs on your desktop machine and
manages test execution.
• Individual test cases are executed on the
DUT. The test cases are written in Java
as JUnit tests and packaged Android
.apk files to run on the actual device
target.
Compatibility Test Suite (CTS)
AOSP CDD CTS
26. 26
CTS Verifier provides tests for APIs and
functions that cannot be tested on a stationary
device without manual input (e.g. audio
quality, accelerometer, etc).
The Compatibility Test Suite Verifier (CTS Verifier)
AOSP CDD CTS CTS Verifier
27. 27
The Vendor Test Suite (VTS) automates HAL and OS kernel
testing.
Validates that the HALs are written in a way consistent with the
interfaces with Android.
Vendor Test Suite (VTS)
AOSP CDD CTS CTS Verifier VTS
28. 28
The GMS Test Suite ensure that the Google Mobile
applications are compatible with the device.
GMS Test Suite (GTS)
AOSP CDD CTS CTS Verifier VTS GTS
Image: https://www.blog.google/products/android/
45 minutes speech
Android(Android-based) на даний момент є найбільш популярною мобільною ОС( за різними даними близько 65 - 86%). Android встановлюється та працює на різних платформах. Це телефони, планшети, годинники, автомобілі, телевізори, IOT та ноутбуки.
В цій доповіді я розповім як шматок скла та металу стає Android пристроєм, як відбувається конфігурація Андроїда під різні платформи, Google сертифікація, та як відбувається оновлення операційної системи.
image: https://www.blog.google/products/android/2bn-milestone/
Різні конфігураціі дають змогу змінювати look&feel Андроїда.
Для цього створюється так званий device descriptor. Це директорія, яка містить файли специфічні для пристрою. В ній мають знаходитись мейкфайли, в яких, поміж іншого, прописано які модулі будуть забрані (наприклад: які сервіси, чи апк), та які конфігураційні файли мають бути присутні на пристрої (features декларуються саме так. В залежності від списку фіч ті, чи інші системні сервіси будуть доступні).
Image: https://www.mobileworxs.com/blog/2019/06/17/the-facts-about-google-mobile-services-gms-in-the-enterprise/
Android - це Google-certified AOSP, де пристрої мають відповідати гугловим вимогам.
Основна відмінність в тому, що Android включає в себе GMS(Google Mobile Services).
GMS дозволяє користуватися широкою інфраструктурою google, яка включає в себе Search, Location engine, Play Store, Maps, YouTube..
AOSP в свою чергу не потребує ліцензування та може вільно використовуватись та кастомізуватись. Та Google Mobile Services не є його частиною.