Jak wygląda proces aktualizacji Androida?

4 minuty czytania
Komentarze
androidevolutionupdatedwithlollipop

Premiera nowej wersji systemu operacyjnego podsyca apetyty większości użytkowników. Niemalże każdy chciałby zaktualizować swój smartfon do nowego wydania w ciągu kilku tygodni. Dlaczego aktualizacje trwają tak długo? Przyjrzyjmy się procesowi aktualizacji.

Uaktualnienie oprogramowanie nie jest łatwym procesem. Proces składa się z dwóch okresów – przygotowywania oraz certyfikacji. Do ich zakończenia mija jednak sporo czasu. Do premiery Android 4.0 Ice Cream Sandwich, źródła były udostępniane producentom w momencie upublicznienia systemu. Google postanowiło dać producentom więcej czasu na uaktualnienie Androida. Od wydania Lollipopa dostają kod źródłowy dużo wcześniej. Oprócz źródeł deweloperzy otrzymują również PDK (Platform Development Kit), czyli zestaw instrukcji niezbędnych do poprawnego zaktualizowania warstwy abstrakcji sprzętowej (HAL).

Po otrzymaniu kodu deweloperzy muszą stworzyć od nowa lub przebudować nakładkę systemową, aby działała z najnowszą wersją Androida. Oprócz nakładki aktualizowane są również pliki binarne tworzone przez producentów układów scalonych. Firmamiprodukującymi podzespoły dla smarfonów, są m.in. Qualcomm, Broadcomm, MediaTek lub Texas Instruments. Google kontaktuje się z tymi firmami i przekazuje instrukcje o nowych funkcjach systemu, które wymagają zmian w plikach binarnych. Niektórzy producenci nie chcą lub nie mogą zaktualizować wspomnianych plików i system nie może być dalej rozwijany. Najgłośniejszym w ostatnich latach przypadkiem braku wsparcia ze względu na producentów podzespołów był Samsung Galaxy Nexus, który nie otrzymał nowych plików binarnych od Texas Instruments i zakończył swój żywot na Androidzie 4.3.

Gdy wszystko jest już gotowe, źródła i binaria znajdują się na dyskach korporacyjnych komputerów, przychodzi czas na dostosowanie systemu. W pierwszej kolejności deweloperzy skupiają się na stabilności systemu. Uaktualniane są źródła urządzeń (device tree) oraz jądro systemu. W niektórych przypadkach niezbędne jest użycie nowszej wersji jądra. Obecnie wykorzystana wersja dla architektury ARM, to 3.10. Po wprowadzeniu niezbędnych modyfikacjach producenci przechodzą do fazy testów. W tym momencie wykorzystywani są użytkownicy, którzy nie uczestniczyli w procesie tzw. bring-up-u. Najczęściej są to pracownicy innych działów firmy. Wydawać by się mogło, że stabilne AOSP, to połowa sukcesu, jednak jest to zaledwie 10% procesu dostarczenia gotowego oprogramowania dla klientów.

AOSP_ny2-660x553

Źródło: Sony

Gdy system jest w miarę stabilny, deweloperzy przechodzą do integracji nakładki systemowej. Wtedy to do gry wkraczają graficy, którzy tworzą ikony oraz animacje zgodne z wymogami Google. Twórcy Androida wymagają, aby producenci zbytnio nie zmieniali kolorystyki i ogólnego wyglądu systemu. Wyczuwalny ma być Material Design, Holo lub inny styl graficzny wykorzystany w produktach Google. Zmieniane są elementy frameworka, a w szczególności SystemUI, który odpowiada za wygląd całego systemu. Gdy system jest już stabilny i posiada wstępne modyfikacje graficzne, deweloperzy przechodzą do integracji następujących elementów:

  • ekran blokady
  • launcher
  • aplikacja telefonu
  • odtwarzacz muzyki
  • odtwarzacz multimediów
  • aplikacja aparatu i galerii
  • aplikacja SMS
  • szybkie ustawienia
  • klawiatura
  • kalendarz

Ta lista może różnić się w zależności od wizji producenta. Integracja wszystkich funkcji do aplikacji trwa od kilku dni do kilkunastu tygodni. Producenci z zaawansowanymi nakładkami (np. Sony, HTC, Samsung) potrzebują nawet 5 miesięcy do rozpoczęcia wysyłania paczek OTA. W procesie przygotowywanie finalnej wersji systemu biorą udział również pracownicy firmy i zwykli użytkownicy. Uczestniczą oni w procesie zwanym soak test. Są to testy niemal finalnej wersja systemu, która zostanie wysłana do procesu certyfikacji.

Ostatnim krokiem przed wydaniem nowej wersji systemu jest wspomniany proces certyfikacji. W ramach testów sprawdzane są takie elementy jak Bluetooth lub Wi-Fi. Zarówno oprogramowanie jak i sprzęt musi spełniać najnowsze z używanych standardów. Oprócz globalnych certyfikatów, wymagane są również krajowe pozwolenia. Zdarza się, że producenci muszą czekać na zakończenie testów w ponad 80 krajach przed uruchomieniem procesu aktualizacji. Gdy wszystko jest w porządku, tworzona jest paczka OTA oraz obrazy systemu.

OTA wykorzystuje metodę OpenDelta, czyli uaktualnia tylko te elementy systemu, które zostały zmienione. Przykładowo nie jest zastępowana cała aplikacja do wiadomości tekstowych, a tylko jej część. Aplikacja jest rekompilowana na urządzeniu w trybie recovery. OTA jest uruchamiane za pomocą technologii Push. Użytkownik otrzymuje monit o nowej wersji systemu. Po zaakceptowaniu najnowsze oprogramowanie jest pobierane z serwera firmy wypuszczającej uaktualnienie. Paczki OTA muszą być instalowane jedna po drugiej, toteż czasami potrzeba wgrać więcej niż jedno archiwum ZIP. Archiwa podpisywane są kluczem wykorzystanym przy tworzeniu pierwotnej wersji systemu. W przypadku niezgodnego klucza, proces nie może być kontynuowany. Obraz systemu natomiast wymazuje partycje /system, /data, /recovery itp., zastępując je zaktualizowanymi danymi.

Jak widzicie proces aktualizacji oprogramowania jest dość długi i wymaga wiele zaangażowania ze strony twórców. Miejmy nadzieję, że czas oczekiwania będzie sukcesywnie się skracał, a użytkownicy dostaną najnowsze wydanie Androida w ciągu kilku tygodni od premiery.

Motyw