Blog (22)
Komentarze (234)
Recenzje (0)
@iacobusKilka słów o custom romach na Androidzie

Kilka słów o custom romach na Androidzie

28.03.2011 22:54

Niewątpliwie jedną z najlepszych cech Androida, odróżniającą go od iPhone, jest latwość modyfikowania oprogramowania systemowego. Nie mam tu na myśli jedynie poszczególnych aplikacji, ale najgłębszych partii systemu operacyjnego, jak różnego rodzaju frameworki czy nawet kernel.

Jak wiadomo czysty Android prawie nie występuje, jedynym obecnie sprzętem posiadającym zupełnie “waniliowe” wydanie tego systemu jest Nexus S. Producenci dodają swoje aplikacje, zmieniają powłokę (tzw. launcher), często ingerują również w kernel - przykładem może być uparte stosowanie sytstemu plików RFS przez Samsunga. Nie ma problemu jeżeli te poprawki są na korzyść działania urządzeń, czego wybitnym przykładem jest Sense UI produkowane przez HTC. Ponieważ posiadam Samsunga Galaxy S jestem jednak skazany na niskie gusta koreańskiego producenta. Nie udostępnia on domyślnego w Androidzie launchera (podstawowy interfejs użytkownika), a na jego miejsce stręczy TouchWiz. Podobnie rzecz ma się z lockscreenem (interfejs aplikacji do zarządzania blokady telefonu) czy animacjami włączania i zamykania systemu. Przykłady można byłoby mnożyć, ale przecież nie o to chodzi.

W początkach mojego użytkowania Galaxy S trzymałem się bardzo blisko stockowych (udostępnianych przez Samsunga) romów (oprogramowania systemowego). Pojawił się jednak problem gdy częśc świata ptrzymała już aktualizację z Android 2.1 (Eclair) do Android 2.2.1 (Froyo). Samsung udostępnia aktualizację poprzez program Kies, który po pierwsze działa jedynie na Windowsie, a po drugie służy do wszystkiego, a więc siłą rzeczy jest zupełnie do niczego. Swoją drogą doskonala sprawdza się tutaj reguła KISS (Keep it simple, stupid). Otóż skoro Wielka Brytania otrzymała już oryginalne samsungowe Froyo, zawierające język polski, a Europa Centralna jeszcze nie, pozostawały trzy wyjścia: czekać; oszukać Kiesa, że znajduję się w Wielkiej Brytanii; lub po prostu zainstalować tegoż Androida poprzez oprogramowanie serwisowe Samsunga, czyli mówiąc po ludzku samodzielnie zrobić flash romu :-)

Zdecydowałem się na drugie wyjście, za pomocą prostego skryptu oszukałem program Kies i otrzymałem Froyo z błogosławieństwem Samsunga. Jednakże po kilku dniach coś zepsułem i chciałem po raz kolejny wgrać system operacyjny. Oczywiście musiałbym raz jeszcze pobierać całe oprogramowanie przez Kiesa, a przewidując, że nie jest to ostatni raz gdy coś pójdzie nie tak, postanowiłem zastosować bardziej zaawansowane metody.

Otóż bardzo mili serwisanci Samsunga, skupieni wokół samfirmware.com udostępniają na bieżąco każdą wersję Androida wyprodukowaną przez Samsunga wraz z oprogramowaniem do samodzielnego flashowania tych systemów operacyjnych. Korzystanie z niego jest dziecinnie proste i po lekturze forum, każdy jest w stanie się nim posłużyć. I tak się zaczęło... Wgrywając na bieżąco wszelkie aktualizacje dochodzi się do znacznej wprawy. A dokładnie w ten sam sposób można wgrywać zmodyfikowane kernele lub w ogóle zmodyfikowany system.

Otóż załóżmy, że znudził nam się ekran blokowania (lockscreen) udostępniony przez Samsunga. Jest to aplikacja głęboko osadzona w systemie, więc do jej zmiany będą potrzebne uprawnienia roota. Ponadto w celach optymalizacji wiele takich aplikacji systemowych jest wrzuconych bezpośrednio w cache maszyny wirtualnej Javy, tzw. Dalvika. Dokopanie się do tych miejsc systemu operacyjnego wymaga bardzo trudnej operacji deodexowania systemu. Nawet jeżeli to zrobimy, to co będzie jeżeli znów będziemy chcieli zmienić ten lockscreen? Albo trzeba sobie będzie dopisać w kodzie systemu menu do zmiany, albo raz jeszcze przeprowadzać podmianę aplikacji systemowej.

Łatwo się domyślić, że przy wielu milionach użytkowników Androida, jeżeli każdy chciałby wkonywać tę pracę samodzielnie, to oznaczałoby wynajdywanie koła na nowo przez kilkadziesiąt milionów godzin pracy łącznie. I tu powstała nisza dla custom romów, czyli samodzielnie przygotowanych przez zaawansowanycbh użytkowników wersji Androida. Z reguły custom romy zawierają to wszystko, czego dusza może zapragnąć: są zrootowane, system jest po deodexie, zawierają miłe dodatki jak na przykład pół‑przeźroczystość w elementach interfejsu, często umożliwiają konwersję systemu plików na ext4 (np. Voodoo lagfix). Wszystkie liczące się custom romy są udostępniane, opisywane i recenzowe na forum XDA‑Developers.

Bardzo ciekawym rozwiązaniem jest tzw. Kuchenka Romów. Jest to specjalna aplikacja webowa utworzona przez Doca i Stefunela służaca do samodzielnego komponowania (gotowania...) romów. Możemy sami wybrać poszczególne kernele, aplikacje, motyw, launcher, animację startową i wiele innych szczegółow systemu. Wystarczy pobrać wygenerowany plik i zainstalować go. Z Kuchenką można się zapoznać na romkitchen.org.

Osobiście korzystam z Darky Rom, który jest obecnie chyba najpopularniejszym custom romem na Galaxy S. Poniżej małe porównanie standardowego samsungowego TouchWiz i Gingerbread Launcher z właśnie romu Darkiego.

Nudny lockscreen w Samsung TouchWiz 3.0

381504

Rotary Lockscreen na Darky ROM

381506

Gingerbread launcher na Darky ROM Z wysuniętym menu podręcznym

381508

Czy warto korzystać z custom romów? Na pewno warto, ale wyłącznie ze stabilnych wersji od sprawdzonych deweloperów. Korzyści będzie wiele, od zwiększonego czasu pracy baterii (to chyba jest najbardziej uderzające po porzuceniu firmware od Samsunga) do znacznego przyśpieszenia działania systemu. Polecam!

Wybrane dla Ciebie
Komentarze (4)