Drukuj
Nadrzędna kategoria: Android
Kategoria: Gotowe rozwiązania
Odsłony: 24925
Rootowanie Sony Xperii J - część 2 - 4.2 out of 5 based on 5 votes

Ocena użytkowników: 4 / 5

Gwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywnaGwiazdka aktywnaGwiazdka nieaktywna
 
W poprzednim artykule na temat Sony Xperia J omawiałem ogólnie słuchawkę i oceniałem jej specyfikację techniczną oraz system operacyjny. Teraz przejdę do możliwości rootowania telefonu oraz modyfikacji, które pomogą ulepszyć smartfona.
Jak już pisałem wcześniej Sony sporo zepsuło w Androidzie w tym w telefonie. Mam wrażenie że telefon został przygotowany na prędce i nie do końca przetestowany. Całe szczęście część z jego wad da się naprawić, ale do tego będzie potrzebne zrootowanie telefonu.
Aby zrootować telefon i móc później modyfikować oprogramowanie najlepiej by było odblokować bootloader. Smartfony Xperia J w zależności od sieci, w której zostały zakupione mają możliwość ściągnięcia tego ograniczenia. Swój telefon kupiłem w Play i nie było z tym problemu, ale czytałem że Orange blokuje bootloadery (to informacja znaleziona w sieci więc nie wiem na ile prawdziwa).
Sprawdzenie czy telefon ma możliwość odblokowania bootloadera to prosta czynność. Wystarczy w dialerze wstukać *#*#service#*#* czyli *#*#7378423#*#*. Ukaże się nam menu serwisowe w którym możemy przetestować poszczególne podzespoły telefonu i uzyskać różne informacje. Aby sprawdzić czy możemy odblokować bootloader wchodzimy do Service Info i Configuration. Na dole widnieje tekst Rooting Status: Bootloader Status. Jeżeli dalej jest napis Yes to znaczy że możemy wymieniać oprogramowanie w telefonie. Jeżeli No to znaczy że nie będziemy mogli wgrać do telefonu systemu FreeXperia, ale będziemy mogli zrootować telefon.
Całe szczęście Sony nie robi problemów z usuwaniem blokady bootloadera. Wchodzimy na stronę Unlockbootloader. Na dole strony wybieramy Xperia J i dajemy Continue. Wpisujemy swój adres email i czekamy na mejla od Sony. W mejlu dostaniemy link do strony gdzie wpisujemy IMEI swojego telefonu. Aby je wyciągnąć w dialerze wpisujemy *#06#. Wpisujemy na stronie IMEI i przechodzimy dalej. Na kolejnej stronie dostajemy kod do odblokowania bootloadera. Następnie musimy się posłużyć narzędziami deweloperskimi do odblokowania bootloadera, a dokładnie fastboot.
Użytkownicy Windowsa muszą zainstalować sterowniki do telefonów z Androidem oraz SDK, którym jest polecenie fastboot. Użytkownicy Ubuntu nie muszą tego robić, ponieważ sterowniki do telefonów Android są w kernelu, a narzędzia adb i fastboot są w repozytoriach. Wystarczy kliknąć w poniższe przyciski aby zainstalować te programy.
Android Debug Bridge Fastboot
Teraz wyłączamy telefon. Gdy się całkiem wyłączy naciskamy i trzymamy przycisk Volume Up i podłączamy telefon do komputera kablem USB. W telefonie powinna zapalić się dioda na niebiesko, to oznacza że telefon uruchomił bootloadera i czeka na polecenia.
Uruchamiamy konsolę i wydajemy polecenie:
fastboot devices
Powinniśmy zobaczyć numer seryjny naszego urządzenia. Następnie dajemy polecenie odblokowania bootloadera:
fastboot -i 0x0fce oem unlock 0x<kod_odblokowujący>
Podajemy kod który otrzymaliśmy na stronie Sony. Jeżeli nasz bootloader na to pozwala to powinniśmy tym poleceniem odblokować bootloader. Teraz mam otwartą drogę do wgrywania innych kerneli czy wersji Androida.
Aby bezproblemowo wgrywać nieoficjalne i oficjalne oprogramowanie polecam aplikację Flashtool. Jest ona napisana w Javie więc są wersje dla Ubuntu, Windowsa i MacOSa. Teraz należałoby się zastanowić co chcemy zrobić w telefonem. Możemy wrzucić mu nowszą wersję oprogramowania 11.2.A.0.33 opublikowaną tylko w krajach arabskich (jest język polski, działa nieco stabilniej), bądź zainstalować oprogramowanie FreeXperia będące modyfikacją CyanogenMODa bądź zmienić kernela.
Na początek opiszę jak wgrać najnowsze programowanie oficjalne. Nie wiele zmienia ono w wyglądzie, dalej mamy do dyspozycji Jelly Beana 4.1.2, ale działa on nieco lepiej. Sam go używam jako chyba najlepsze oprogramowanie jak testowałem na tym telefonie.
11.2.A.0.33
Uruchamiamy Flashtool. Jeżeli mamy podłączony telefon aplikacja od razu będzie starała się go diagnozować (np. czy ma roota). Z menu wybieramy Devices/Check updates. Na samym dole nowego okna wyszukujemy Xperia J. Klikamy dwukrotnie u pokazuje się nam okno z różnymi firmware'ami. Wybieramy kartę ST26i bo taka wersja sprzedawana jest w Polsce. Jako soft wybrałem wersję opisaną jako Customized MEL. Jeżeli klikniemy prawym na jakimś wpisie z menu będziemy mogli sprawdzić w jakiej wersji jest dany firmware. Jeżeli przejrzymy listę dokładnie możemy zobaczyć oprogramowania przygotowane przez polskie sieci, m.in. Play czy Plus.
 Wybór firmware'u
Klikamy dwukrotnie na danej wersji i zaczyna się pobieranie wybranego softu. Gdy się skończy pojawi się kolejne okno z możliwością modyfikacji pobranego softu. Zalecam nie zmieniać niczego, zaznaczyć wszystko po lewej stronie i dodać do firmware content. Klikamy Create. W tym momencie program buduje plik z oprogramowaniem, który będziemy mogli wrzucić do telefonu. Gdy cały proces się skończy plik wynikowy będzie znajdował się w katalogu <katalog_flashtool>/firmwares/.
Edycja firmware'u
Teraz możemy przejść do fleszowania telefonu. Wracamy do głównego okna i wybieramy przycisk zygzaka (pierwszy z lewej). Z listy wybieramy Flashmode. Wyskakuje okno z listą naszych firmware'ów, powinien na niej znaleźć się ten którego przed chwilą stworzyliśmy. Zaznaczamy go, pozostawiamy zaznaczone Wipe Cache i Data (to wyczyści wszystkie nasze ustawienia, przez co pozwoli na bezproblemowe uruchomienie po fleszowaniu, trzeba wcześniej zabezpieczyć kopię zapasową). Na koniec upewniamy się że nasz telefon ma baterię naładowaną na co najmniej 50% i klikamy Flash. Program po chwili poprosi nas abyśmy uruchomili telefon w trybie Flashmode. Odłączamy go od komputera i wyłączamy. Naciskamy i trzymamy przycisk Volume Down i podłączamy kablem USB do komputera. Dioda powinna zaświecić się na zielono. W tym momencie zaczyna się fleszowanie. Ten proces może potrwać kilkanaście minut.
Gdy się skończy odłączamy telefon, wyciągamy na chwilę baterię i włączamy go z powrotem. Telefon jest w stanie "fabrycznym" teraz więc pierwsze uruchomienie może trochę potrwać. System podczas pierwszego uruchomienia tworzy pliki dalvik-cache. Może się kilkukrotnie sam zrestartować podczas tego procesu. Gdy system wstanie sprawdzamy w ustawieniach jaką mamy wersję.
Wersja Androida
FreeXperia
Jeżeli nie odpowiada nam oficjalne oprogramowanie, możemy spróbować forku CyanogenMOD na telefony Sony. Niestety aktualizacje tego firmware już dawno ustały i nic nowszego niż 4.1.2 nie uświadczymy. Powód jest taki, że firma udostępniająca sterowniki do chipsetu telefonu dla Androida zatrzymała ich rozwijanie na wersji 4.1.2. Tak więc FreeXperia to też ta sama wersja Androida co w wersji oficjalnej Sony.
Osobiście nie odpowiadała mi FreeXperia. Jest bardziej żerna jeśli chodzi o baterię i momencie obciążenia telefonu aplikacjami chodzi wolniej niż oficjalny soft, mimo że ten ostatni ma więcej bloatware'u. Ale spróbować warto, może komuś się spodoba.
FreeXperia na JLo
Źródło: forum.android.com.pl
Musimy zacząć od downgrade'u do wersji oficjalnej z Androidem 4.0.4 od Sony. Powtarzamy wszystkie kroki wcześniejsze co do wersji 11.2.A.0.33, tyle że wybieramy z listy Branding La Poste Mobile FR, T-Mobile UK lub Orange UK. Najważniejsze aby była to wersja 11.0.A.7.5. Downgrade do tej wersji jest potrzebny ponieważ FreeXperia nie chce współpracować z firmware radia z wersji nowszych. Gdy zainstalujemy FX na nowszej wersji firmware'u radia nie będzie nam działała sieć GSM.
Wchodzimy na tą stronę i pobieramy plik o nazwie cm-10-20131224-FXP-jlo.zip. Gdy się pobierze wypakowujemy z niego plik boot.img. To obraz partycji z kernelem. Sam plik zip wrzucamy na kartę SD w telefonie. Jako że Xperia J nie ma partycji recovery, nie będziemy go mogli używać w normalny sposób. Recovery jest zaszyte w kernelu, a ten kernel działa tylko z FreeXperią. Gdybyśmy chcieli użyć ClockWorkMod Recovery z oficjalnym softem Sony musimy sfleszować ten kernel, zrobić co mamy do zrobienia i potem przywrócić wcześniejszy kernel aby móc uruchomić Androida.
Przechodzimy do fleszowania kernela. Tak jak wcześniej uruchamiamy bootloadera (wyłączamy telefon, przycisk Volume Up trzymamy i podłączamy kabel USB). Uruchamiamy Flashtool i wybieramy wciskamy przycisk Flash (znów zygzak). Wybieramy Fastboot mode. Potem Select kernel to Flash z prawej strony okna. W oknie wyboru pliku wyświetlamy pliki *.img i wskazujemy wypakowany wcześniej plik boot.img. Kilka sekund i mamy nowy kernel.
Odłączamy telefon, wyciągamy na chwile baterię i włączamy z powrotem. Obserwujemy diodę na dole podczas uruchamiania. Gdy ta zaświeci się na fioletowo naciskamy szybko Volume Down. Za moment powinien nam się pokazać Clockworkmod Recovery. Przechodzimy do Mounts and storage i formatujemy po kolei wszystkie partycje oprócz external_sd i sd_card. Gdy się skończy wybieramy Install zip from sdcard/choose zip from sdcard i wskazujemy plik cm-10-20131224-FXP-jlo.zip. Teraz będzie instalowany system FreeXperia. Gdy się skończy wybieramy Reboot now.
Root
Jeżeli posługujemy się systemem FreeXperia nie musimy martwić się rootem, ponieważ system na starcie jest już zrootowany. Rootowanie stocka można zrobić na kilka sposobów, ale przedstawie dwa najprostsze. Jeden do instalacja specjalnego kernela, który podczas uruchamiania systemu sprawdzi czy nasz telefon jest zrootowany, jeśli nie będzie to zrobi to automatycznie. My musimy tylko sfleszować poniższy kernel. Oczywiście to będzie działać tylko na telefonach z odblokowanym bootloaderem. Ten kernel wgrywamy tak samo jak opisałem wcześniej.
Vengeance Kernel
Drugi sposób to użycie Flashtool. Uruchamiamy i wybieramy z menu My ST26/Root/Run Root Shell. Teraz czekamy, rootowanie może trwać nawet 5 minut. Flashtool w tym czasie wrzuca do telefonu specjalny skrypt z exploitem i uruchamia go aby złamać zabezpieczenia. Gdy mu się to uda zainstaluje w systemie plik su i program do zarządzania uprawnieniami roota. Ten sposób będzie działał u osób, które mają zablokowany bootloader.
Kernele
Kernel Vengeance o którym wspominałem oprócz automatycznego rootowania smartfona posiada kilka dodatkowych usprawnień, między innymi możliwość użycia swapu czy innych zarządców zadań i IO. Przez jakiś czas używałem tego kernela do czasu gdy nie znalazłem SimpleKernel. Ten pozwala na podkręcenie procesora z 1GHz do 1,5GHz bez straty stabilności czy większego zużycia baterii. Kernel ten powstał na źródłach Sony plus dodatki wkompilowane przez twórcę. Oprócz podkręconego procesora dostajemy również swap i zram.
Simple Kernel
Recovery
Jak już wcześniej wspominałem telefon nie posiada dedykowanej partycji recovery. Można to ominąć instalując kernel, który posiada w sobie recovery. Kernel z FreeXperii ma zbudowane ClockworkMod Recovery, ale jeżeli posiadamy oficjalne oprogramowanie Sony nie będziemy mogli wystartować systemu z tego kernela. Więc jeżeli chcemy zrobić np. backup systemu, fleszujemy kernel z FreeXperii, robimy backup i przywracamy wcześniejszy kernel, np. SimpleKernel.
Debranding
Sieci często dokładają od siebie aplikacje, których tak naprawdę nie potrzebujemy. Np. w Play jako "bonus" była nawigacja NaviExpert czy OfficeSuite. Oczywiście możemy to odinstalować, ale gdy dokonamy jakiejś zmiany w telefonie dotyczącej systemu, np. aktualizacja SuperSU, telefon wykrywa te zmiany i z powrotem przywraca nam te aplikacje. Są one zaszyte w systemie. Aby się pozbyć raz a dobrze, wystarczy wyczyścić zawartość katalogu /system/etc/customization/applications. W katalogu /system/etc/customization/content są miedzy innymi tapety od Sony. W /system/etc/customization/settings natomiast w plikach xml znajdują się dodatkowe ustawienia od sieci, np. zakładki do przeglądarki.
Naprawianie tego co zepsuło Sony
Pierwszą rzeczą, którą naprawiałem w telefonie był dźwięk. Jak pisałem w poprzednim artykule dźwięk w słuchawkach był poddawany kompresji dynamiki przez co odbierało to całkiem przyjemność ze słuchania. Aby pozbyć się tej wady wystarczy wyedytować plik /system/build.prop. Oczywiście edytujemy to w vi spod konsoli albo jakimś innym edytorem ASCII, ale na pewno nie notatnikiem z Windowsa. Ten nie nadaje się do edytowania czegokolwiek a tym bardziej plików z innego systemu operacyjnego, w którym jest inne kodowanie znaków bądź inny znak końca linii. Najwygodniej jest użyć aplikacji ROMToolBox bądź Build Prop Editor. Znajdujemy wpis audio.legacy.postproc i ustawiamy go na false. Zapisujemy i resetujemy telefon. Po tym zabiegu pozbywamy się problemu kompresji dynamiki dźwięku.
Kolejnym felerem zaserwowanym przez Sony są błędy logiczne systemu plików na partycji z punktem montowania w /data. Jest to partycja gdzie są trzymane wszystkie nasze ustawienia oraz zainstalowane aplikacje. Jeśli z niewiadomych powodów nagle resetuje się wam telefon, najprawdopodobniej pojawił się błąd w systemie plików. Domyślne ustawienie systemu plików Errors behavior jest Panic. Jeżeli kernel łapie z tego powodu panika to telefon się restartuje, w trakcie podnoszenia się systemu wykonuje się polecenie e2fsck i system plików jest naprawiany. Możemy to zmienić, aby telefon nam się sam nie restartował. Polecenie
tune2fs -e continue /dev/block/mmcblk0p15
ustawia jak system ma się zachować w momencie wykrycia błędu.
Dodatkowo możemy zmienić opcję montowania:
busybox mount /data -o errors=continue,remount
Do powyższego wymagane jest zainstalowanie busybox'a.
 Obydwa polecenia możemy wrzucić do skryptu i uruchamiać z /system/etc/init.d co start systemu. Dlaczego się te błędy systemu plików się pojawiają? Nie mam zielonego pojęcia, nie wydaje mi się to winą samej pamięci flash, a raczej modyfikacji Sony dokonanych na Androidzie.
Bardzo irytującą przypadłością tego telefonu jest zmiana domyślnych dzwonków. Wiele osób na forum Sony zgłaszało ten problem, ale jak to bywa w takich przypadkach Sony udaje że problemu nie ma. Problem dotyczy całe szczęście tylko dźwięku telefonu i smsa. Pozostałe powiadomienia np. kalendarza czy aplikacji społecznościowych są nie zmieniane. Czasem system stwierdza, że baza danych multimediów została uszkodzona i skanuje pamięć w poszukiwaniu zdjęć, muzyki i filmów jeszcze raz. Przez to ustawienia domyślnych dźwięków wracają do tych co wymyślił producent.
Aby pozbyć się tego problemu, kopiujemy dzwonek telefonu z karty do katalogu /system/media/audio/ringtones a dzwonek powiadomień do /system/media/audio/notifications. Pamiętajmy o ustawieniu takich samych uprawnień dla tych plików jak pozostałe dźwięki w tych katalogach. Usuwamy skopiowane pliki z karty aby się nie dublowały później na liście dźwięków. Resetujemy telefon aby system przeskanował i zobaczył nowe pliki. Teraz za pomocą ROMToolBox bądź Build Prop Editor odnajdujemy wpis w /system/build.prop o nazwie ro.config.notification_sound i ro.config.ringtone. Jako parametry podajemy same nazwy plików (bez ścieżek dostępu) do plików które skopiowaliśmy. Teraz gdy system znów uzna że baza uległa uszkodzeniu przywróci nasze dźwięki jako domyślne. Wszystkie zmiany w /system/build.prop wchodzą w życie po restarcie.
Przydatne aplikacje
Teraz podam aplikacje które ułatwiają korzystanie z tego telefonu oraz poprawiają jego wydajność:
  • ROMToolBox - płatna aplikacja ale warta swojej ceny. Zastępuje apkę do zarządzania procesorem, pamięcią, systemem, aplikacjami, posiada wbudowany terminal oraz menadżera plików.
  • Xposed framework - o tym kiedyś napiszę oddzielny artykuł. Sam framework nic nie daje, ale dzięki jego modułom można modyfikować system bez modyfikacji plików w systemie.
  • Titanium Backup - tego chyba przedstawiać nie muszę. Do robienia kopii zapasowych SMS/Rejestru połączeń oraz aplikacji i ich ustawień
  • Android Firewall - włączenie zapory sieciowej pozwoli korzystać z internetu tylko tym aplikacjom którym na to pozwolimy.
  • Greenify - najlepiej działa z Xposed, ale nie jest wymagana do działania. Wykorzystuje naturalne mechanizmy Androida do wyłączania aplikacji zamiast ich zabijania, zachowując ich funkcjonalność, powiadomienia oraz widżety.
  • BootManager - wymaga Xposed. Pozwala na wyłączenie aplikacji, aby nie uruchamiały się razem z systemem.
  • Busybox - ułatwia życie podczas pracy w konsoli dodając mnóstwo pożytecznych poleceń.
  • LagFix - odzyskuje bloki pamięci flash przypisane do skasowanych danych dzięki czemu przyspiesza operacje IO
  • SuperSU - najlepsza aplikacja do zarządzania uprawnieniami roota.
Trochę się rozpisałem, ale chciałem cały temat rootowania tego telefonu zamknąć w jednym artykule z podziałem na zagadnienia aby ułatwić nawigację po nim. Mam nadzieje, że komuś się przyda, a jakby ktoś miał wątpliwości bądź pytania zapraszam do zadawania ich w komentarzach.
Spodobało Ci się? Udostępnij, przypnij, podziel się z innymi:

Simple Disqus Comments