Jak to tchnąłem w swój tablet drugie życie - czyli o Androidzie 4.2 i jego konfiguracji
Witajcie kochani! Zaczął się rok szkolny i już minął miesiąc. Dla mnie oznacza to naukę w nowej placówce i w towarzystwie nowych ludzi. Ale nie o tym artykuł.
Otóż rozkład zajęć, jaki mnie dotyczy, jest tragiczny. Niejednokrotnie mam 1‑2 godziny wolnego w trakcie dnia i nie ma na co tego czasu zagospodarować. Niby można z kimś pójść „na miasto” (jak to mówią), ale dobrze wiecie – mamy dość chłodne dni, a na dodatek wszelkiej maści pogodynki straszą nas powietrzem arktycznym i srogą zimą.
Rozwiązanie tego problemu wpadło mi do głowy, kiedy zobaczyłem jedną osobę z klasy z tabletem w ręku. Oczywiście, jak to większość dziewczyn, lubi sobie poprzeglądać portale o modzie albo robić zdjęcia wszystkiemu i wszystkim (niestety ja też byłem ofiarą...). Ale chwila moment. Przecież ja też mam dość stary, ale trzymający się jeszcze sprzęt. Postanowiłem go odkurzyć i spowodować, że do czegoś się jeszcze przyda (opisywałem przecież MK802IV, do którego planuję sobie sprawić w najbliższym czasie parę niezbędnych akcesoriów).
Bohater artykułu
Otóż posiadane urządzenie to jeden z tysięcy modeli opartych na platformie Allwinner A10. Niewielki koszt płyty głównej (zaledwie 4‑5 dolców) przyczynił się do istnego oblężenia rynku takimi modelami, i każdy hipermarket miał w swojej ofercie chocaż jedno urządzenie tego typu.
Tablet kupiłem w listopadzie 2011 (czyli dość dawno). Jego cena wynosiła ponad 500 złotych, ale wtedy takie cacka były jeszcze nowością. Sprzęt jest napędzany procesorem Cortex-A8 1GHz i wspomagany przez 384MB pamięci RAM (z czego 128MB przypada na akcelerator grafiki). Pliki można przechowywać w pamięci 4GB. Całość działa bardzo sprawnie pod kontrolą systemu Android 2.3. Tak, tak – jeszcze Gingerbread, ponieważ urządzenie kupiłem z Chin i nie dostałem oficjalnego ICSa, a nie chciałem eksperymentować z customami. Do dnia dzisiejszego.
Krótko o tym, jak to chińskie tablety pobiły Nexusa
Pozwolę jeszcze zauważyć pewną rzecz. Jak się okazuje, bardzo podobnym do mojego tabletu jest smartfon Nexus S od Samsunga. Ba, w pewnych kwestiach (np. grafika) – o wiele lepszy. Google bardzo „ładnie” potraktował użytkowników, kończąc wsparcie na Androidzie 4.1. Tymczasem mój chiński tablet zaczynał tak samo od Gingerbreada, a po opisanych czynnościach używa... Jelly Beana 4.2. I nikt nie powiedział, że nie ma szans na najnowszą (obecnie) wersję systemu. Z tak pozytywnym nastawieniem zaczynamy :)
Krok 0. Kopia ważnych plików
Oczywiście nie można nigdy zapomnieć o kopii zapasowej posiadanych danych i aplikacji. Jak się można domyślać, pobrane elementy przeniosłem na pendrive, natomiast stan niektórych programów zachowałem programem Titanium Backup. Przy okazji wreszcie zrobiłem jakotaki porządek. Myślę też, że nie muszę programu przedstawiać - dla pewności jednak załączę zrzut ekranu:
To wystarczy, żeby z czystym sumieniem przejść dalej.
Krok 1. Android
Podczas poszukiwania odpowiedniego systemu natknąłem się na Androida 4.2.1 dla tabletu o nazwie Astro+, swoją drogą identycznego z wyglądu jak mój egzemplarz. Oprogramowanie jest dostępne pod tym linkiem. Warto wspomnieć, że plik ma rozmiar prawie pół gigabajta, co uniemożliwi użytkownikom specyficznych łącz ukończenia pobierania.
Warto wspomnieć, że ROM powinien działać też na innych urządzeniach z SoC Allwinner A10, ale uwaga: A13 nie jest już zgodny. Dla urządzeń tej "nowszej generacji" polecam spróbować Faaast JB 4.2.2.
Dalej wszystko wygląda podobnie jak na każdym sprzęcie z A10. Należy:
- rozpakować paczkę
- skopiować plik livesuit\LiveSuitPack105.exe do pustego katalogu
- uruchomić plik
Program zostanie automatycznie zainstalowany, a skrót utworzony na pulpicie. Jeśli tak się nie stanie, odświeżamy zawartość katalogu i uruchamiamy LiveSuit.exe.
Teraz wystarczy tylko kliknąć przycisk SelectImg, wskazać plik IMG z systemem i podłączyć tablet z wciśniętym klawiszem głośności. Teoretycznie proces powinien się rozpocząć, ale z nieznanych przyczyn system nie mógł znaleźć sterowników. Musiałem mu w tym pomóc, wyszukując „wykrzykników” w Menedżerze urządzeń.
Reszta poszła bez problemu, po około 10 minutach czekał na mnie ekran blokady. Na razie system wyglada ładnie, działa dość płynnie, nie działa (chwilowo) kilka drobnych rzeczy. Ale jak zwykle diabeł tkwi w szczegółach.
Krok 2. Administrator
Jak już wspomniałem, z informacji zamieszczonych na różnych forach wynika, że od Androida 4.1 nie ma domyślnie roota – czyli możliwości „logowania” na konto administratora. Na oryginalnie dostarczonym oprogramowaniu wszystko działało bez problemu, na nowym nie mogłem się poświęcić pasji, którą jest usuwanie niepotrzebnych plików APK :)
Na szczęście udało mi się znaleźć sposób na uzyskanie praw administratora. Wystarczy pobrać 2 pliki:
Należy pamiętać o kilku czynnościach. Po pierwsze, podczas właściwej instalacji sterownika, wybieramy urządzenie firmy „Other”.
Kiedy pojawi się komunikat podobny do tego poniżej, podłączamy tablet do komputera. Debugowanie USB jest włączone w systemie fabrycznie (i po jego konfiguracji należy tą opcję wyłączyć!)
A na sam koniec odznaczamy wszystkie dodatkowe opcje.
Teraz wystarczy rozpakować paczkę ze skryptem, uruchomić plik JellyBeanRoot.bat i postępować wg poleceń.
Oczywiście miałem takiego pecha, że za każdym restartem Androida musiałem się trochę natrudzić, żeby ADB wykryło tablet. Ale w końcu się udało i dzięki temu mam jakąkolwiek aplikację Superusera... oraz możliwość uruchomienia screencap’a w celu wykonania screenshotów.
Krok 3. Większa rozdzielczość
W zasadzie pojęcie „rozdzielczość” nie istnieje w Androidzie. Jest za to tzw. wartość DPI – ilość pikseli na cal. Dla mojego tabletu (jak i dla większości siedmiocalówek) wynosi ona 120DPI, natomiast domyślnie w systemie – 160DPI. Wcale nie dziwne, że interfejs wyglądał mi na zniekształcony i przerośnięty w porównaniu do zdjęć ICSów.
Do tego celu użyjemy już posiadanego ADB. Aplikacja „adb.exe” w katalogu używanego poprzednio skryptu, to pomost deweloperski między komputerem a Androidem. Użyjemy go do podmiany jednego z plików – build.prop.
Pierw należy uruchomić Wiersz polecenia i dostać się do katalogu, w którym znajduje się skrypt. U mnie jest to „D:\android42\crane_evb-ROOTJELLYBEAN+\root_windows”, dlatego wpisuję komendy
D: cd “android42\crane_evb-ROOTJELLYBEAN+\root_windows”
Teraz sprawdzamy czy tablet jest dalej wykrywany
adb devices 20080411f0f0f0f0 device
Jeśli tak, to wpisujemy komendę
adb shell „cat /system/build.prop | grep lcd”
Użytkownicy prawdziwego (konsolowego) Linuksa wiedzą, że komenda pokaże każdą linijkę zawierającą „lcd”. W moim przypadku nie pokazała się żadna informacja zwrotna – czyli DPI nie jest ustawione. Aby to zmienić, wklepujemy
adb remount adb shell „cp /system/build.prop /system/build.prop.bak” adb shell "echo ro.sf.lcd_density=120 >> /system/build.prop”
Zostanie dodana linijka zawierająca odpowiedni parameter, natomiast oryginalny plik również będzie zachowany, tak na wszelki wypadek. Teraz resetujemy tablet i patrzymy na rezultaty.
adb reboot
Na zdjęciach nie widać duzych różnic, ale uwierzcie – na ekranie mieści się o wiele więcej informacji.
Krok 4. Usuwanie dodatkowych aplikacji
Gdy już system wygląda normalnie, możemy trochę w nim „pogrzebać”. Powtórzę – moje ulubione zadanie to usuwanie każdego niepotrzebnego pliku APK. Po ponownym podłączeniu tabletu należy wejść w powłokę systemową, komendą
adb remount adb shell
Dodatki od producenta
Najpierw usunę niepotrzebne pliki APK, które są automatycznie instalowane po pierwszym starcie – tzw. nienatrętne śmieci. (Dlatego też system na początku nieźle się tnie.) Aby wyświetlić ich listę, wpisujemy
cd /system/preinstall && ls
System wyświetli listę:
Skype3.2.apk aldiko.apk com.rovio.angrybirds.apk flashplayer-2.apk fruit ninja.apk youtube.apk
Jak widać, jest tutaj dużo niepotrzebnych aplikacji. Właściwie nie potrzebuję żadnej z nich. Mogę więc pozbyć się balastu poprzez wydanie jednej prostej komendy
rm *
„rm” jest skrótem od „remove” – „usuwać”. Znak „*” oznacza „wszystko”. Logiczne.
Oczywiście aplikacje nadal będą zainstalowane w systemie, aż do czasu kiedy wykonamy reset do ustawień fabrycznych. Trzeba więc własnoręcznie usunąć każdą z nich, tak jak się to robi zazwyczaj. Potem warto ponownie uruchomić tablet.
Aplikacje Google
Jak ja nie lubię tego badziewia, które znajduje się w każdym urządzeniu z preinstalowanym Androidem, ba nawet w specjalnej nieoficjalnej edycji (port) dla procesorów X86 też je wciskają. Usuwam je na każdym sprzęcie, który mam dla siebie na dłużej niż kilka dni. Teraz również się ich pozbędę, tymbardziej że niejednokrotnie doprowadziły mnie do szewskiej pasji samodzielnie się aktualizując (przykład: pojawienie się ni stąd ni z owąd „Ustawień Google” w menu) lub zapychając mi łącze o śmiesznej prędkości - już nie mówiąc o odwiecznej inwigilacji.
Kiedyś, przeglądając stronę prism-break.org, znalazłem link do uniwersalnego skryptu usuwającego aplikacje Google na każdym urządzeniu z Androidem 2.1 (!) lub nowszym. Można go odnaleźć tutaj, natomiast ja pokażę pokrótce jak go użyć.
Najpierw ściągamy najnowszą wersję (na czas pisania - 1.2) ze strony autora. Wrzucamy ją do katalogu z plikiem adb.exe (zalecam to dla wszystkich przenoszonych plików) i wysyłamy ją do tabletu:
adb push gappsremover-1.2-20130814.zip /sdcard/
I rozpakowujemy:
adb remount adb shell cd /sdcard unzip gappsremover-1.2-20130814.zip
Teraz wystarczy tylko uruchomić skrypt i czekać:
cd gappsremover sh fire.sh
Po zakończeniu, wpisujemy "reboot" i czekamy. Nie będziemy marnować czasu na (rekomendowany) reset do ustawień fabrycznych.
Oto wyniki działań - zdjęcia przed i po:
Innych aplikacji najlepiej pozbyć się w bardziej bezpieczny sposób - mianowicie je wyłączyć. Mniejsze ryzyko, że system następnym razem się nie uruchomi. Dokonujemy tego w menu Ustawienia > Aplikacje. Następnie przełączamy się na zakładkę "Wszystkie", klikamy na nazwę aplikacji i wybieramy "Wyłącz". Ja akurat zbędnych aplikacji nie zauważyłem. A jeśli będzie potrzeba, to w dowolnym momencie je wyłączę. Albo włączę spowrotem.
Krok 5. Alternatywny sklep z aplikacjami
Teraz postanowię uzbroić system w kilka aplikacji, w tym sklep z aplikacjami o nazwie F‑Droid. Co w nim takiego wyjątkowego? Zawarte są w nim bowiem tylko otwartoźródłowe (darmowe) aplikacje. Rygorystyczne normy pozwalają czuć się bezpiecznie - nawet taki Firefox jest oznaczony ostrzeżeniem "może nadzorować działania użytkowników". Wiele aplikacji zostało "wyciętych" z reklam i umieszczonych tutaj. Ponieważ jest to moje główne źródło pobierania aplikacji (takich jak AdAway, Cool Reader, Terminal Emulator, Ghost Commander...), pokażę jak zdalnie zainstalować aplikację na tablecie poprzez ADB.
Zawsze najnowsza wersja jest dostępna tutaj. Aby ją zainstalować, wystarczy użyć jednej komendy
adb install FDroid.apk
I tyle. Aplikacja zostanie zainstalowana w pamięci użytkownika i można od razu ją przetestować.
Oczywiście najpierw należy włączyć Wi‑Fi, aby program pobrał repozytoria - program bazuje na linuksowym Aptitude, dlatego specyficzny sposób działania.
Krok 6. "Skręcanie" procesora
Właściwie to nie wiedziałem, jak nazwać ten proces. Skoro zwiększanie ilości MHzów to podkręcanie, to ich zmniejszenie jak określić? :)
Nieważne. Ważny jest efekt. A chcę trochę zmniejszyć taktowanie, co praktykuję na tablecie odkąd się spostrzegłem, że wytrzymuje on na baterii niewiele ponad 4h. Tymbardziej, kiedy bawię się natywnym Linuksem, który jakoś nie za bardzo dba o energię (dopiero niedawno dodano obsługę APM do kernela).
Do celów underclockingu użyję programu No‑Frills CPU Control Classic, który można pobrać z chomika... tfu sklepu F‑Droid :D
Po zainstalowaniu programu (albo przez oficjalną aplikację, albo ze strony) należy go uruchomić, potwierdzić przyznanie uprawnień administratora i zmienić wartości:
[list][item]Maks./min. częstotliwość zegara - myślę, że to określenia jednoznaczne. Należy jednak pamiętać, że wartości powyżej 1200MHz mogą przygotować "procesor w panierce". Żeby tego było mało, 1.2GHz to wartość domyślna! Z kolei wartości poniżej ok.200MHz mogą strasznie spowolnić tablet - o ile w trybie uśpienia byłoby to wskazane, o tyle przy normalnej pracy już nie. Ja zostaję przy wartościach 60~768MHz[/item][item]Zarządca - znam tylko trzech, więc o nich opowiem:
- ondemand - stara się działać na najniższych obrotach, żeby je zwiększyć, użytkownik musi wymusić sytuację, gdzie będzie to potrzebne
- performance - odwrotnie - działa na najwyższych obrotach i nie ma możliwości żeby trochę zwolnił
- fantasy - coś "pomiędzy" - działa na niewielkich obrotach i jest wrażliwy na działania użytkownika
Ja zostaję przy opcji fantasy, ale warto pokombinować z innymi.[/item][/list]
Jeśli po testach (gry, benchmarki) wszystko będzie działać stabilnie, można włączyć opcję "Zastosuj na starcie". Ja już wiem, jak zachowuje się tablet w jakich sytuacjach, więc nie sprawdzam tego.
U mnie osiągam 25% dłuższy czas pracy na baterii, więc zmiana naprawdę coś daje, a nie obniża wydajności nawet w grach (GTA:VC nadal działa jak działa). W Androidzie głównie RAM ma dużą wagę.
Krok 7. Ustawienia warte przejrzenia
Na sam koniec kilka moich porad, które ułatwią pracę na tak (potencjalnie) słabym sprzęcie:
- Wyłączyć Wi-Fi i synchronizację, jeśli są niepotrzebne. Można to zrobić z poziomu widżetu na pulpicie. Oszczędzi to trochę baterii.
- Przyciemnić ekran. Oczywiście nie można przesadzić, bo albo ekran zgaśnie na amen, albo będzie "mrugać" jak głupi. Tutaj należy wyczuć najbardziej odpowiednią pozycję suwaka
- Wyłączyć dźwięk dotknięcia ekranu. Raz, ze jest to upierdliwe, a po drugie zużywa to baterię (w kółko włączany i wyłączany jest głośnik)
- Powiększyć czcionkę. Powinny być one wtedy trochę wyraźniejsze.
- Wyłączyć autoobracanie ekranu. Zwłaszcza, kiedy się przed snem siedzi na Facebooku, a leży na boku :)
- Wyłączyć "dostęp do lokalizacji" - czyli wszystkie funkcje związane z GPSem, którego tablet nie ma.
- Wyłączyć debugowanie USB - już mówiłem dlaczego, a jeśli nie, to zapraszam tutaj (ANGIELSKI)
- Włączyć "Pokaż dotknięcia" - wygodne, jeśli komuś szaleje ekran po podłaczeniu ładowarki. Ale także żeby sprawdzić w sytuacjach kryzysowych, czy dana aplikacja się zawiesiła, czy może jednak cały system "padł"
- I najważniejsze - zamykać niepotrzebne aplikacje przyciskiem menedżera zadań (trzeci od lewej na pasku stanu), a także nie minimalizować zbyt wielu programów naraz
Podsumowanie
To chyba tyle w temacie aktualizacji do Androida 4.2 i jego optymalizacji do codziennego użytku. W kwestii ergonomii i ilości dostępnych aplikacji, nowsza wersja systemu lepiej się sprawuje. Jest także stabilniejsza i nie występują takie problemy jak restarty podczas używania dysku twardego USB. Drobne błędy, tak jak trochę przewrażliwiony g‑sensor i lekko przebarwiona kamera (zbyt dużo magenty) nie przeszkadzają w codziennej pracy.
Mam nadzieję, że podzieliłem się z niektórymi osobami przydatnymi informacjami. Do zobaczenia.