-
-
-
-
URL copied!
Станом на перший квартал 2017 року Android був найпопулярнішою мобільною платформою. Кількість пристроїв на цій операційній системі в 6 разів більша, аніж на інших операційних системах загалом. Звичайно, йдеться не лише про смартфони, але й про безліч інших мобільних пристроїв, наприклад, планшети, смарт-годинники, телевізійні й автомобільні платформи тощо.
Чому ж Android став таким популярним? Одна із причин полягає у тому, що для виробників апаратного забезпечення (мобільних пристроїв) ця операційна система умовно безкоштовна. Її можна встановити на різноманітні пристрої. Щоправда, часто при цьому потрібно проводити портування, тобто адаптацію Android. До речі, це GlobalLogic реалізовує для широкого кола клієнтів, тому багато що із викладеного нижче перевірено на власному досвіді.
Одна із задач, з якою стикаються інженери, що займаються портуванням, — забезпечити появу на пристрої ключових сервісів Google: Google Play Store, Gmail, Google Maps, Google Drive та ін. Це не так просто: для цього потрібно пройти процедуру ліцензування. Отже, у цій статті я хочу розповісти про загальний алгоритм ліцензування і відповісти на питання, які постають перед багатьма розробниками.
З точки зору розробки Android можна поділити на:
- The Android Open Source Project (AOSP) (вільний для завантаження);
- Google Mobile Services (GMS) (потребує ліцензування).
На основі AOSPу, без використання GMS, цілком можна випустити пристрій. Так робили, наприклад, Amazon, Nokia, виробники Android-пристроїв на ринку Китаю. Розробкою на основі AOSPу активно займається спільнота LineageOS (послідовники Cyanogenmod). Але GMS значно додає функціональної привабливості. В першу чергу, перевага полягає у наявності Google Play Store «з коробки». Звісно, є методи установки офіційного магазину додатків від Google без ліцензії (по-різному дієві), але вони, як правило, не для звичайних користувачів, які хочуть, щоб усе просто працювало без додаткових «танців з бубном».
Що таке Google Mobile Services (GMS)
Google Mobile Services — це набір додатків і APIs, що допомагають покращувати функціональність операційної системи незалежно від пристрою. До їх числа входять наприклад, Gmail, Google Maps, Google Drive, YouTube, але найважливіша частина GMS — це Google Play Store і Google-сервіси. Їх доволі складно заінсталювати в обхід офіційної процедури від Google. Щоб отримати GMS-пакет офіційно, а головне, мати право на продаж пристроїв з ним, треба пройти процедуру ліцензування. Ліцензування здійснюється у рамках програми сумісності Android.
Програма сумісності Android (Android Compatibility Program)
Для того, щоб забезпечити якнайкращу якість операційної системи, була розроблена програма сумісності Android. Ця програма має на меті:
- Надати чітко визначене середовище для розробників додатків. Без стандартів сумісності пристрої могли б відрізнятись настільки, що для кожної моделі розробникам потрібно було б робити різні версії додатків. Програма сумісності точно визначає, що розробники можуть очікувати від програмної частини і «заліза». При належному використані ця інформація може значно допомогти в розробці.
- Дати можливість виробникам вирізнятись, але лишатись сумісними. Програма сумісності передбачає можливість роботи third-party-додатків, що дозволяє розробникам надавати пристроям унікальні функції без втрат у сумісності.
- Мінімізувати витрати, пов’язані з сумісністю. Сумісність має бути легкою і недорогою для розробників. Інструменти для тестування є безкоштовними і пристосовані для постійного використання у процесі розробки.
Складові програми сумісності
Складовими програми сумісності є:
- AOSP (Android Open Source Project) — вихідний код Android, доступний будь-кому для закачування і внесення змін.
- CDD (Compatibility Definition Document) — документ, у якому описані вимоги до пристрою, що мають бути виконані, щоб пристрій вважався сумісним із певною версією Android. Кожна версія операційної системи має свій окремий варіант.
- CTS (The Compatibility Test Suite) — набір автоматичних тестів, які запускаються на пристрої. Для різних версій Android доступні різні версії, причому для нових версій кількість тестів збільшується. Якщо у версії 1.6 було лише близько 23 тисяч тестів, то у версії 8.x їх уже більше 600 тисяч.
Які вимоги до ліцензування
Формально вимога лише одна — треба заповнити невелику форму: вказати назву компанії-виробника, тип і кількість пристроїв, що виробляються, версію Android тощо.
Google рекомендує формувати запит не пізніше, аніж за 30 днів перед початком продажів, але на практиці краще це робити за кілька місяців (як мінімум). Швидкість розгляду напряму залежить від кількості запланованих для продажу одиниць, надійності вашого бізнесу, країн розповсюдження тощо.
Після отримання схвальної відповіді від Google естафета передається перевіреним third-party-компаніям, що займаються тестуванням GMS. Ці компанії виступають посередником між Google і виробниками і беруть на себе офіційне GMS-тестування. Чим кращий продукт ви передасте на офіційне тестування, тим менше ресурсів у вас піде на отримання ліцензії. Тому не завадить почати процес тестування/відлагодження самостійно, а потім вже на певній стадії передати його посередникам.
Скільки це коштує
Android вважається безкоштовною операційною системою. Але це не зовсім так.
У 2014 році The Guardian опублікувала статтю, в якій вказувала, що Google отримує по кілька центів з кожного пристрою за ліцензування. Пізніше редакція була змушена виправити оригінальний текст у зв’язку з непорозумінням, яке він викликав. Google не отримує гроші за ліцензування від виробників пристроїв. Але для отримання GMS компанія вимагає GMS-ліцензування, для проходження якого потрібно співпрацювати з компаніями-посередниками, що працюють не безкоштовно. Вартість їхніх послуг не є сталою і залежить від багатьох умов. За неофіційними даними виробнику це коштує близько $10-15 тис. за одну модель пристрою.
Які перевірки потрібно пройти відповідно до вимог Google
Фактично весь процес поділяється на дві стадії: до отримання GMS і після. Тут ідеться про отримання спеціального Google GMS, який ще не можна офіційно випускати на пристроях, але вже можна завантажити і почати процес інтеграції.
До отримання GMS потрібно перевірити пристрій на відповідність певним вимогам:
- CDD (Compatibility Definition Document) — деякі критерії CDD перевіряються за допомогою CTS та інших наборів тестів, але далеко не всі. Тому перевірка відповідності до CDD є окремим процесом, про який не варто забувати.
- CTS (The Compatibility Test Suite) — це набір автоматичних тестів, про який ми згадували раніше.
- CTS Verifier — це додаток до CTS, а саме ручні тести. Їх значно менше, аніж автоматичних, і вони стосуються функціональностей, які неможливо належно протестувати інакше.
Усі невідповідності мають бути усунені, окрім тих, які не можна подолати через певні обставини (наприклад, обмеження платформи або дефекти тестів). Дозвіл на ігнорування подібних результатів треба попередньо отримати від Google, зареєструвавши відповідний запит у Google Issue Tracker. Попередньо, звісно, слід пошукати, чи подібної проблеми вже не зареєстровано до вас. Якщо представник Google «дає добро» на ігнорування цієї проблеми, вона реєструється як «waiver» («відмашка»). На жаль, далеко не завжди відповідь можна отримати швидко.
Після цього ви віддаєте пристрій на офіційне тестування і, якщо результат відповідає заявленому, отримуєте GMS. З цього моменту ви вже можете почати процес інтеграції додатка в систему, але ще не маєте права на продаж пристрою з ним. Треба пройти ще кілька перевірок:
- GTS (Google Mobile Services Test Suite) — це набір тестів, які перевіряють, чи коректно працює GMS на пристрої після інтеграції (наприклад, програвання відео різної якості з додатком Google Play Videos).
- CAT — це тести для перевірки якості запису/відтворення звуку.
Під час цих перевірок, на відміну від попередніх, ми не маємо доступу до вихідного коду, і відповідно відлагоджувати проблеми набагато складніше.
Висновки
Можливо, вищеописаний процес не надто простий, але таким чином Google вдається гарантувати:
- Правильну роботу Google-сервісів.
- Сумісність з абсолютною більшістю доступних додатків. Відповідно, користувач буде стикатися зі значно меншою кількістю проблем при використанні пристрою, що позитивно вплине на його задоволення продуктом.
Безпеку зберігання особистих даних. Більшість пристроїв на Android містять персональну інформацію наприклад, паролі, дані банківських карт тощо. Пройдена сертифікація підтверджує, що дані користувачів, збережені на пристрої, будуть у безпеці, а критичні вразливості будуть швидко вирішені (відносно недавній приклад — Stagefright).
Звісно, це лише невелика частка інформації з цієї теми, але її має бути достатньо для загального розуміння процесу. Сподіваюся, стаття була для вас корисною.
Олександр Масечко, QA Team Lead, Consultant, GlobalLogic.
Top Insights
Python: чому вивчати та з чого почати?
InsightsSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyТонкощі CV або Як скласти та куди надіслати,...
HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyCI/CD для JS розробників. Частина перша – теорія
DevelopmentSoftwareAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologySoft and Hard Skills: Що важливіше? Розповідь одного...
HRAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyТОП автори
Категорії блогів
Давайте співпрацювати
Схожі теми
Мережеві основи
Основні поняття мереж Мережі забезпечують зв'язок між комп'ютерами, пристроями та користувачами навіть на великих відстанях. Вони є основою для спільної роботи, комунікації та обміну ресурсами. Мережа — це система, у якій два або більше комп'ютерів та інших пристроїв з'єднані між собою для обміну даними та ресурсами. Вони можуть бути локальними (LAN), розширеними (WAN), бездротовими (Wi-Fi) … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
Основи операційних систем
Windows, Linux, macOS: порівняння та особливості У світі комп'ютерів три операційні системи відіграють ключову роль: Windows, Linux та macOS. Кожна з цих систем має свої унікальні особливості та призначення, що робить їх популярними серед різних категорій користувачів. У цій статті ми розглянемо ці три операційні системи, їхні переваги та особливості. Windows Windows — найпопулярніша операційна … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
Основи інформатики та програмування
Вступ до інформатики та IT-сфери Інформатика та технології інформаційної обробки є дверима в швидкоплинну та захоплюючу сферу — сферу інформаційних технологій (IT). У світі, де відсутність доступу до інформації може виявитися прогресивною перешкодою, розуміння основ інформатики та IT-сфери стає критичним для кожної людини. Що таке інформатика та IT-сфера? Інформатика — це наука про обробку та … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
Як зберігати і підвищувати власну продуктивність в ІТ
Артур Мицко, Lead Software Engineer, GlobalLogic У компанії Globallogic я пройшов шлях від С++ trainee до Lead Software Engineer. Як зазвичай буває, коли людина приходить в ІТ-компанію вперше — все навколо нове та цікаве, ти не помічаєш як летить час. Чесно кажучи, в перші роки я не сильно то і відпочивав, переважно на свята. Це, … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
Як покращити ресурсний стан через оточення
Катерина Васильєва, Senior HRBP, GlobalLogic Ресурсний стан як поняття, яке використовується в психології, медицині, спорті та інших галузях, описує психофізіологічний стан людини, який характеризується рівнем її енергії, витривалості, здатності до праці та концентрації уваги. Відповідно, ресурсний стан впливає на різні аспекти життя людини, і визначається різними чинниками, як то рівень фізичного здоров'я, ступінь стресу або … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
How does SDV change the automotive industry and what is the role of Ukraine in these changes
Author: Sergii Naida, Vice President, Engineering, GlobalLogic Ukraine Software-defined vehicles (SDVs) are changing the automotive industry and defining new industry standards. SDV Cloud Framework, the infrastructure concept developed by the GlobalLogic Ukraine team, is an important innovation in the automotive sector. It aims to create cloud infrastructure to optimize automotive software development and help to … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
Як стати .NET розробником. Перші кроки та поради
Олексій Глембицький, Senior Software Engineer, GlobalLogic Мене звати Глембицький Олексій, я .NET розробник в компанії GlobalLogic, а також проводжу вебінари та викладаю курси по мові програмування С#. І в цій статті я би хотів поділитись порадами, які допомагають моїм студентам опанувати мову програмування С# та стати .NET-розробниками. Про мову програмування C# та платформу .NET C# … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
Як покращити презентації
Денис Братчук, Engineering Director, GlobalLogic Майже кожен з нас час від часу виступає із презентаціями чи доповідями, використовуючи як ілюстрацію слайди, створені в популярних офісних програмах, на кшталт PowerPoint або Google Slides. Менеджери проєктів створюють звіти про хід виконаних робіт, інженери презентують новітні технологічні рішення, керівництво звітує про досягнення фінансових цілей, а менеджери з продажів … Continue reading Як виробнику мобільних пристроїв пройти ліцензування для встановлення Google Mobile Services →
Більше
Share this page:
-
-
-
-
URL copied!