Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Embedded Fest 2019. Іван Пустовіт. From AOSP to Android powered device

182 Aufrufe

Veröffentlicht am

На даний момент Android є найпопулярнішою ОС для мобільних пристроїв. Він працює на різних платформах з різною конфігурацією обладнання. Потрібно багато інженерних зусиль, щоб створити Android BSP, що повністю відповідає потребам кінцевого користувача.
Я розповім, як шматок скла та металу стає пристроєм, що працює на Android.
Я проведу вас основними фазами розробки компонентів Android, поясню різницю між Android та AOSP, і розповім про процес сертифікації Google.

Veröffentlicht in: Bildung
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Embedded Fest 2019. Іван Пустовіт. From AOSP to Android powered device

  1. 1. 1 From AOSP to Android powered device Ivan Pustovit Senior Software Engineer
  2. 2. 2 Introduction
  3. 3. 3 Mobile OS chart https://gs.statcounter.com/os-market-share/mobile/worldwide Oct 2018-Oct 2019
  4. 4. 4 Device zoo
  5. 5. 5 OmniROM LineageOS MIUI CopperheadOS Paranoid Android AOKP Resurrection Remix OS Replicant OxygenOS Pixel experience AOSP Extended AOSP-based distributions CyanogenMod
  6. 6. 6 Device production
  7. 7. 7 • Free for download • More than 800 projects • More than 50 GB of sources Android Open Source Project (AOSP)
  8. 8. 8 device.mk • Product packages • Config files • Features • Properties init.rc sepolicy Resource overlays Configuration
  9. 9. 9 Resource flexibility
  10. 10. 10 Android architecture System apps Java Framework Native C/C++ libs Android Runtime HAL Linux kernel vintf GOOGLE VENDOR
  11. 11. 11 Hardware Abstraction Layer (HAL) Wi-Fi Audio USB Broadcast Radio Radio Media Graphics DRM GPS Bluetooth Camera Keymaster
  12. 12. 12 Project Treble
  13. 13. 13 Project Treble
  14. 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
  15. 15. 1515 Installing system update... Updates
  16. 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
  17. 17. 17 A/B Updates Current Android version Current Android version Active slot Inactive slot A B Current Android version Next Android version Active slot Inactive slot A B Current Android version Next Android version Inactive slot Active slot A B update_engine reboot Before update After update After reboot
  18. 18. 18 What is Android? AOSP GMS (Google mobile services)
  19. 19. 19 Google Mobile Services (GMS)
  20. 20. 20 Google certification
  21. 21. 21 Certification
  22. 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. 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. 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
  25. 25. 25 ● Android 2.1 “Eclair” >23k tests ... ● Android 6.0 “Marshmallow” >254k tests ● Android 7.x “Nougat” >440k tests ● Android 8.x “Oreo” >620k tests ● Android 9.0 “Pie” >946k tests ● Android 10.0 “Q” >1M tests Compatibility Test Suite(CTS) AOSP CDD CTS
  26. 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. 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. 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
  29. 29. 29 AOSP CDD CTS CTS Verifier VTS GTS Profit! Certified
  30. 30. 30 Thank You!