O historii roota subiektywnie i wybiórczo

Zawsze byłem zwolennikiem modyfikacji systemu w telefonach z Androidem. Na początku system ten był przeze mnie wręcz utożsamiany z rootem i zabawą ze zmianą ROM-ów, w pewnym sensie była to esencja zielonego robocika. Jednak z biegiem lat, a zwłaszcza w kontekście najświeższych zmian w świecie Androida, ta zabawa jakoś tak mi spowszedniała. Może nie daje już tylu możliwości, co kiedyś, a może ja po prostu się starzeję.

Swoją przygodę z modyfikowaniem systemów w smartfonach zacząłem chwilę przed ekspansją Androida na rynku mobilnym. 2009 rok przyniósł telefon, który miał być rewolucyjny – Samsung i8910HD, znany w Polsce jako Omnia HD, który pracował pod kontrolą dotykowego Symbiana. Był to pierwszy na świecie telefon mogący nagrywać wideo w rozdzielczości 720p, miał też największy na świecie ekran – całe 3,7 cala.

samsung-omniahd-00

Reakcje światowych portali na widok tego telefonu były takie, że sam za gówniarza napaliłem się na niego, niczym komornik na meblościankę. Skończyło się na tym, że to urządzenie było praktycznie prototypem, nic nie działało w nim tak, jak powinno, włącznie z tak wychwalanym nagrywaniem w HD. Już nie będę się rozpisywał nad brakami w sofcie i tym, jak nieudolnie Samsung próbował je naprawiać, bo sprawa rozchodziła się o tak elementarne funkcje, że nawet nie potrafiłbym ich dzisiaj opisać.

Przechodząc do sedna – społeczność użytkowników tego telefonu głowiła się jak tu doprowadzić go do używalności na co dzień. Pojawiały się pierwsze custom ROM-y, instrukcje, jak odblokować bootloader, sposoby na usunięcie systemowych aplikacji. Można powiedzieć, że prawie wszystko to, co dzisiaj, tylko w o wiele skromniejszej i bardziej prymitywnej formie. To właśnie na tym telefonie wielu znanych w społeczności xda moderów zaczynało swoją karierę z przygotowywaniem ROM-ów dla późniejszych urządzeń z Androidem.

Przykład mojej nieszczęsnej Omni HD podaję jako analogię do tego, co działo się na początku androidowej ekspansji. Nie owijając w bawełnę – telefony oparte na Androidzie po prostu zamulały, a sam system był dopracowywany na użytkownikach. Dlaczego stało się tak, że niedopracowany produkt lawinowo zasypał rynek smartfonów na początku obecnej dekady? Dlaczego każdy z producentów nie poszedł własną drogą na wzór kierunku obranego przez Apple?

Prototyp pierwszego urządzenia z Androidem - źródło: Android Central
Prototyp pierwszego urządzenia z Androidem – źródło: Android Central

Ponieważ Google, tworząc konsorcjum Open Handset Alliance i zapraszając do niego najważniejszych wówczas graczy szeroko pojętej branży telekomunikacyjnej, podsunęło im w pewnym sensie gotowe rozwiązanie, czyli Androida. Wówczas rynek smartfonów rósł jak na drożdżach. Nowy system operacyjny potrzebny był tu i teraz.

W konsekwencji pojawienia się zielonego robota żaden z producentów nie mógł sobie pozwolić na zostanie w tyle i alokację dużego kapitału na R&D w celu tworzenia swojego systemu. Trzeba było szybko dołączyć do konkurentów, którzy wypluwali seriami smartfony na raczkującym wówczas Androidzie. Ewentualne autorskie OS-y były projektami pobocznymi, które zostały poniekąd skazane na porażkę, jak na przykład BadaOS Samsunga. Żaden producent nie mógł wywrzeć już takiego wpływu, jaki wywarło Google swoim produktem.

T-Mobile G1 - Pierwszy komercyjne urządzenie z Androidem. W Polsce było znane pod nazwą Era G1
T-Mobile G1 – Pierwszy komercyjne urządzenie z Androidem. W Polsce było znane pod nazwą Era G1

W czasach, w których iPhone wyprzedzał konkurencję o lata świetlne i nadawał rytm całemu przemysłowi elektronicznemu, a Symbian dogorywał w agonii na dotykowych Nokiach, nie mogło być lepszego momentu, żeby wstrzelić się z nowym systemem operacyjnym.

Moja pierwsza styczność z Androidem wiązała się z odziedziczonym po starszej siostrze legendarnym HTC HD2, który jak wiadomo fabrycznie wyposażony był w kończącego wówczas swój żywot Windowsa Mobile 6,5. Wersji Androida dostępnych na HD2 było mnóstwo, począwszy od czystych kompilacji do portów ROM-ów z innych smartfonów, dzięki czemu mogłem mieć Androida wyposażonego w pierwsze edycje nakładki Sense.  Jak na tamte czasy, naprawdę nie mogłem narzekać na szybkość działania tych kompilacji.

Nougat to nie pierwszy i z pewnością nie ostatni Android, który zagościł na HTC HD2
Nougat to nie pierwszy i z pewnością nie ostatni Android, który zagościł na HTC HD2

Powiem nawet, że działały one lepiej niż moje następne urządzenie, czyli flagowy wówczas Galaxy S2, który był kwintesencją tego, za co krytykowało się kiedyś Androida. Spowolnienia, lagi i crashe aplikacji w pierwszych miesiącach po premierze były na porządku dziennym. Najlepiej zapamiętałem czas reakcji na wciśnięcie przycisku zasilania, który wynosił prawie dwie sekundy!

Deweloperzy, modyfikując soft w Androidach z tego okresu, starali się doprowadzić urządzenia do stanu używalności, często za sprawą wykastrowania smartfona ze sporej części funkcji i ograniczenia ilości procesów pracujących w tle. Do czasu pojawienia się wersji 4.0, mniej więcej to było misją osób modujących ten system.

flash-counter

S2 był jednym z najchętniej modyfikowanych telefonów z Androidem, głównie za sprawą tego, że wówczas jeszcze producenci nie starali się tak usilnie blokować dostępu do bootloaderów swoich urządzeń. Odblokowanie smartfona nie pozostawiało na nim informacji zwrotnej w postaci słynnej dzisiaj flagi Knox, dającej dzisiaj Samsungowi jasno do zrozumienia, że wetknęliśmy swoje łapy tam gdzie nie wolno, co wiązało się z unieważnieniem gwarancji. Jedyną oznaką ingerencji był tzw flash counter, czyli licznik pokazujący ile razy był nadpisywany fabryczny bootloader. Jednak owy licznik można było bardzo łatwo zresetować za pomocą wtyczki usb dostępnej na allegro za kilka złotych.

Doświadczenie moje, jak i społeczności xda pokazuje, że potrzeba było umiejętności wręcz wybitnych, żeby nieumyślnie doprowadzić do uszkodzenia hardware’u przez ingerencję w oprogramowanie. Praktycznie każde niepowodzenie we wgrywaniu zmodyfikowanych obrazów systemu dało się naprawić za pomocą dostępnych na xda zestawów narzędzi opartych na ADB (Android Debug Bridge). Ręczę za to osobiście, wszystkie moje urządzenia z Androidem miały roota (nie rozgryzłem jeszcze tylko Android TV) i niejednokrotnie zdarzyło mi się je „uceglić”, jednak za każdym razem przywracane były do życia.

Operacja odblokowania praktycznie wszystkich smartfonów w tamtym okresie była prosta, odwracalna i nie zostawiała po sobie żadnych śladów, które mogłyby zostać wykorzystane przeciwko nam podczas oddawania urządzenia do serwisu.

Android Ice Cream Sandwich w 2011 roku wniósł powiew świeżości w świat Androida. Zmiany w designie tak bardzo przypadły do gustu użytkownikom, że nagle każdy pragnął pozbyć się autorskiej nakładki producenta swojego sprzętu na rzecz interfejsu w stylu Holo, przy którym Google trwało aż do KitKata. Sam osobiście nigdy nie przepadałem za tą stylistyką, była zbyt surowa, nieprzyjazna, futurystyczna. Przyznać należy jednak, że w końcu Android miał swój styl, dla którego posiadacze smartfonów z nakładkami zapragnęli je porzucić. Można to obserwować po trendach wśród licznych producentów, którzy już od dawna starają się minimalnie ingerować w system, pozostawiając wrażenie korzystania z urządzenia posiadającego „czystego Androida”. To właśnie dzięki sukcesie nowej stylistyki popularność zyskały Nexusy, które nagle stały się atrakcyjne dla zwykłych użytkowników.

Źródło: Android Authority
Źródło: Android Authority

Czasy roota w Androidzie od wersji 4 wzwyż charakteryzowały się tym, że na tapecie zaczęły pojawiać się bardziej zaawansowane modyfikacje nie mające na celu odchudzenia systemu, lecz skupienie się na nowych funkcjach. Szczególnie zapadły mi w pamięć te dotyczące personalizacji interfejsu, gdzie prym wiódł ParanoidAndroid. Pozwalał on na zmianę koloru pasków nawigacyjnych, wielkości interfejsu (DPI) dla systemu, jak i poszczególnych aplikacji z osobna. Pozwalał też wybierać, czy chcemy oglądać daną aplikację w trybie tabletu czy smartfona. Było to czasami przydatne, bowiem niektóre apki skrywały w sobie bardzo atrakcyjny interfejs dla tabletów, który przy odpowiednio dobranej wielkości DPI był też całkiem funkcjonalny na mniejszych ekranach. Można było spędzić praktycznie cały dzień na personalizacji systemu.

Paranoid Android
Paranoid Android

W międzyczasie pojawił się framework Xposed, który zunifukował poniekąd wszelkie drobne mody, które krążyły między urządzeniami z Androidem. Udało się stworzyć jedno ogromne repozytorium z regularnie uaktualnianymi modułami, które pozwalały na modyfikacje interfejsu oraz ingerencję w zachowania systemu w określonych sytuacjach. Z moich obserwacji wynika, że najpopularniejszym modułem jest YouTube Background Playback, który, gdyby ktoś się nie domyślał – pozwala na odtwarzanie filmów z YouTube w tle oraz przy wyłączonym ekranie. Jest to niejako symulacja subskrypcji YouTube RED.

Moja kolekcja modułów Xposed
Moja kolekcja modułów Xposed

Drugi „must have” wśród zrootowanych Androidów to moduł Amplify, który znacząco ogranicza zużycie baterii poprzez blokowanie procesów podtrzymujących aktywność urządzenia przy wyłączonym ekranie. Mniej istotne, kosmetyczne moduły pozwalają na przykład wyczyścić ekran blokady z dowolnych elementów pozostawiając na przykład jedynie zegar. Wśród użytkowników OnePlusów dużą popularnością cieszy się moduł pozwalający na personalizację działania suwaka powiadomień, którym charakteryzują się te urządzenia. Krótko mówiąc moduły są uniwersalne dla większości urządzeń, pobierane, aktywowane i aktualizowane z jednej aplikacji zarządzającej frameworkiem, a instalacja każdego modułu jest nieinwazyjna i odwracalna. Wszystko, co najlepsze w zrootowanym Androidzie, zamknięte w jednej apce.

Czasy od Lollipopa wzwyż nie charakteryzują się właściwie żadnym kierunkiem podążania w modyfikacjach zielonego systemu.  Obecnie optymalizacja działania smartfonów z pomocą roota opiera się jedynie na ograniczeniu ilości usług w tle oraz wakelocków, czyli wspominanych wcześniej procesów podtrzymujących aktywność urządzenia. Wszystko to jednak nie ma nic wspólnego z samym działaniem systemu, a jedynie z wydłużeniem pracy na baterii.

Do czego dzisiaj przydaje się root? W zasadzie do samych podstawowych zadań, czyli możliwości wyrzucenia systemowych aplikacji i instalacji Xposed.  Do niedawna potrzebowałem go do zmiany DPI systemu, jednak od dobrych dwóch lat da się to zrobić bez roota. Najnowszy Android nawet wspiera to natywnie, podobnie jak wiele wiele innych funkcji, które kiedyś wymagały ingerencji w system. Przykładem jest możliwość wyłączenia poszczególnych aplikacji systemowych, bez której nie wyobrażam sobie używania smartfona.

Zmiana DPI zawsze daje wymierne korzyści - pozwala zmieścić więcej informacji na ekranie
Zmiana DPI zawsze daje wymierne korzyści – pozwala zmieścić więcej informacji na ekranie

Zabawa z rootem jest teraz tak samo czasochłonna jak kiedyś, złamać system jest znacznie trudniej, a korzyści z jego posiadania nie powalają już na kolana. Dodatkowo, kiedy chcielibyśmy skorzystać z dobrodziejstw Android Pay, dostajemy w twarz kolejnym argumentem przeciw – płatności zbliżeniowe HCE na ogół nie działają na urządzeniach z odblokowanym bootoaderem i nawet moduły ukrywające roota przed aplikacjami nie są w stanie tutaj zbyt wiele zdziałać.

Root ma już swoje czasy świetności za sobą, Android stał się zbyt dojrzałym i kompletnym systemem, by był tak chętnie udoskonalany jak przed laty. Można powiedzieć że wykonał swoją misję, pozwalając przebrnąć użytkownikom przez okres najintensywniejszego rozwoju systemu. Teraz może spocząć i odejść na emeryturę. Oczywiście nadal stoi za nim wciąż potężna społeczność entuzjastów, którzy będą uruchamiać kolejne wersje Androida na HTC HD2 oraz którzy będą tworzyć porty systemu z Galaxy Note 7 na inne Samsungi. Ja z czysto praktycznego punktu widzenia żegnam się z rootem, nadal pozostając jego wiernym kibicem.