GloDroid: актуальний Android на одноплатному комп’ютері

Categories: ConceptsHardwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

Кінець року – кращий час ділитись здобутками, тому представляємо новий підрозділ у BlogSpotConcepts! Тут ми будемо ділитись інформацією про розробки наших інженерів, їх моделі, прогрес та шляхи застосування. Тож вітайте першу – GloDroid!

Назва: GloDroid 

Локація: Харків

Автори: Maryna Sergiyenko та її команда.

Статус: In Progress

Уявіть, що у вас є остання версія Android, одноплатний комп’ютер і цілий рік вільного часу на експерименти. Що б ви зробили? Спробували б запустити на ньому Android? А тепер уявіть, що це вже зроблено: презентуємо вашій увазі GloDroid! Це безпечне (no backdoor) та недороге рішення з відкритим кодом, яке працює прямо “з коробки” без жодних додаткових маніпуляцій.

GloDroid – це проєкт по портуванню та адаптації Android-додатків з відкритим кодом для роботи на широко доступних одноплатних комп’ютерних платформах.

Основними цілями GloDroid є:

Створити дешеву та надійну платформу з найсучаснішим Android “на борту” для створення прототипів, навчання та досліджень.

Зробити запуск, створення та розгортання Android середовища на вашій платі легким та швидким. Більше не потрібно будувати ядро, завантажувати зовнішні бінарні файли та витрачати час, аби розмістити їх у потрібному місці.

Поділитись усіма напрацюваннями та здобутками зі спільнотою.

На відміну від існуючих пристроїв, на кшталт Raspberry Pi, що мають на борту старі версії Android, GloDroid постачається з актуальною версією Android, що використовує open-source драйвери, залишається актуальною та має підтримку від Google.

Як це виглядає?

Проєкт складається з одноплатного комп’ютера — Orange Pi Plus 2E — та Android 10 з відкритим кодом на борту.

Чому ми обрали саме цю плату?

  • Вона дешева.
  • Має велику спільноту.
  • Гарне “залізо”, що задовольняє нашим цілям: 32-bit процесор, 4-ядра 1.6 GHz, Mali-400 графічний чіп, 2 GB RAM та 16 GB MMC. Плюс усі необхідні інтерфейси: USB для периферії, Wi-Fi та Ethernet.

GloDroid базується на Google AOSP та містить репозиторії, зазначені у таблиці нижче. Ми зробили makefiles для конфігурації Android на основі того, що ми хочемо створити (TV, Automotive, та інше) та яку підтримку HAL/сервісів ми хочемо мати (наприклад, Wi-Fi та Bluetooth).

Ключові переваги рішення:

  • Відкрите та безкоштовне рішення настільки, наскільки це можливо.
  • Має актуальну версію Android.
  • Близьке до основного Android, наскільки це можливо.
  • Поставляється з усіма необхідними бібліотеками та софтом, так що користувач може легко запустити свіжий Android без зайвих дій.
  • Працює “з коробки”.
Що ми зробили

Фінальний проєкт ми виклали на GitHub. А ось його wiki.

Також ми провели спеціальний вебінар та розповіли про наші розробки на DOU.

Сьогодні, GloDroid успішно працює на базі Android 11 та Linux 5.6.

Підтримує такі плати:

  • Orange PI family: Plus 2E / PC / PI 3 / WIN
  • Pinephone / Pinetab
  • Raspberry PI 4
  • PodCast

Та такі девайси:

  • Pinephone
  • Pinetab

Ми написали приблизно 1,800 рядків Android makefiles та близько 2000 рядків файлів коду C/C++/DTS та ін., аби все працювало добре. Близько 2% часу роботи над проєктом було присвячено розробці коду, 5% – створенню файлів побудови. Для наочності: протягом 3–4 місяців фази активного розвитку, лише 10 днів було витрачено на написання коду, а 25% часу ми витратили на компіляцію та виправлення помилок.

Android OS – це система, що живе та розвивається у реальному часі. Що було актуальним для версії 8, часто-густо вже немає жодного сенсу для версії 10.
Нам довелось багато аналізувати вихідний код, тому ми впевнено кажемо, що крім розв’язання практичної задачі портування, робота над проєктом значно покращила наші навички самоосвіти:

Заглибившись в офіційну документацію Google, ми зрозуміли логіку нового Android 11.

Ми набули практичного досвіду з наявними репозиторіями AOSP, з’ясували практичні аспекти їх роботи – щоб висвітлити деякі “сліпі місця” офіційної документації Google.

На цей момент ми зайняті виправленням помилок, про які нам сигналізувала спільнота через репозиторій GloDroid, та всебічно розбираємось з прев’ю Android 11 аби згодом портувати й цю версію.

Якщо вам сподобалась стаття, то запрошуємо долучитись до технічних спільнот, де крім спілкування на вас чекають вебінари та інший професійний контент:

Top Insights

Python: чому вивчати та з чого почати?

Python: чому вивчати та з чого почати?

InsightsSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Тонкощі CV або Як скласти та куди надіслати, щоб отримати пропозицію мрії про співпрацю

Тонкощі CV або Як скласти та куди надіслати,...

HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
CI/CD для JS розробників. Частина перша – теорія

CI/CD для JS розробників. Частина перша – теорія

DevelopmentSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology
Soft and Hard Skills: Що важливіше? Розповідь одного рекрутера

Soft and Hard Skills: Що важливіше? Розповідь одного...

HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

ТОП автори

Volodymyr Nos

Volodymyr Nos

Lead Software Engineer, Engineering, GlobalLogic

Mariia Krapyvka

Mariia Krapyvka

Specialist, GlobalLogic

Dmytro Haidenko

Dmytro Haidenko

Senior Test Engineer, Quality Assurance, GlobalLogic

Dmytro Ryabokon

Dmytro Ryabokon

Director, Engineering, GlobalLogic

Roman Ostash

Roman Ostash

Lead Software Engineer, Engineering, GlobalLogic

Категорії блогів

  • URL copied!