Weekend z modowaniem [13.08.2011]

4 minuty czytania
Komentarze

 

Witam w nowym odcinku „Weekendu z modowaniem”. W ostatnim tygodniu przyjrzeliśmy się z bliska strukturze plików APK, ich budowa nie jest już dla nas tajemnicą. Naturalną koleją rzeczy jest to, że powinniśmy zająć się ich modyfikacją w praktyce. Jednak podejdziemy do tematu delikatnie z boku, do wykonania zmian wykorzystamy prosty program dostępny w Markecie – MetaMorph. Dzięki temu unikniemy ręcznego modyfikowania APK, które może wywołać zbędne komplikacje w przypadku użytkowników nie czujących się zbyt pewnie w temacie.

Nasze przygotowania rozpoczniemy od upewnienia się, że nasz smartfon jest zrootowany i posiada wgrane narzędzie busybox, które możemy pobrać przez specjalną aplikację dostępną w Markecie. Następnym krokiem będzie pobranie aplikacji autorstwa Stericsona, czyli MetaMorph.

Po uruchomieniu aplikacja zacznie sprawdzać, czy nasze urządzenie spełnia wszystkie wymagania. Jeżeli udało Ci się poprawnie uruchomić program, to omiń ten akapit. W moim przypadku MetaMorph odmówił posłuszeństwa sugerując, że nie posiadam wystarczająco dużo wolnej przestrzeni w partycji /system, co jest zupełną bzdurą. Wygląda na to, że w niektórych przypadkach aplikacja ma problem z pobraniem niezbędnych do działania plików. Przygotowałem dla Was kompletny zestaw instalacyjny (dla Windows), dzięki któremu nie będziecie musieli martwić się o konfigurację. Wystarczy pobrać tę paczkę, a jej zawartość wypakować do dowolnego folderu. Upewnijmy się, że włączyliśmy debugowanie USB, a natępnie podłączmy smartfon do komputera PC. Potem klikamy na plik Install.bat i po chwili wszystko powinno znaleźć się na swoim miejscu. Czas spróbować ponownie uruchomić MetaMorph – jeżeli w końcu się udało: gratulacje, zapraszam do kontynuowania lektury. Jeżeli podczas instalacji wystąpiły błędy, to próbujemy ponownie, tym razem uruchamiając ręcznie linię komend i przenosząc się do folderu, w którym mamy rozpakowane pliki. Najprawdopodobniej Twoje urządzenie nie ma odblokowanej pełnej obsługi ADB, musimy więc poradzić sobie inaczej. Taki problem zdarzył się przy moim Galaxy S, lecz udało się go rozwiązać wpisując następujące komendy:

adb push busybox.bin /sdcard/tools/busybox
adb push zip /sdcard/tools/zip
adb push mm.sh /sdcard/tools/mm.sh
adb shell
su (nadajemy prawa roota potwierdzając komunikat wyświetlający się na ekranie)
mount -o rw,remount /system
cp /sdcard/tools/busybox /system/bin/busybox
chmod 4755 /system/bin/busybox
/system/bin/busybox –-install –s /system/bin
cp /sdcard/tools/zip /system/bin
chmod 0755 /system/bin/zip
cp /sdcard/tools/mm.sh /system/bin/
chmod 0755 /system/bin/mm.sh

Czas przejść do kolejnego etapu. Modyfikacja, którą zrobimy jest bardzo delikatna i ma na celu wyłącznie zapoznanie się z funkcjonowaniem programu. Spróbujemy zamienić wszystkie ikony systemowe na te znane z Androida 2.3 Gingerbread. W tym miejscu wypada zaznaczyć, że operacja jest nieodwracalna i warto zrobić kopię zapasową systemu i naszych danych – ot tak, dla bezpieczeństwa.

Teraz pobierzemy spreparowaną paczkę gotową do instalacji i przyjrzymy się jej budowie. Urządzenia wyposażone w HTC Sense mają trochę inne nazewnictwo poszczególnych aplikacji, dodatkowo lokacja ikon może również odbiegać, więc użytkownicy tych smartfonów będą musieli przeprowadzić drobne dochodzenie na własną rękę. Paczka została stworzona z myślą o urządzeniach z ekranami o wysokiej rozdzielczości (800×480 i wyżej), pozostali będą musieli zmienić nazewnictwo folderów /drawable-hdpi na /drawable-mdpi w przypadku ekranów 480×320, bądź /drawable-ldpi w przypadku 320×240.

Po rozpakowaniu paczki widzimy, że zawiera ona szereg folderów i plik w formacie .xml. Ten ostatni zawiera konfigurację motywu i informuje program, jakie zmiany wprowadzić. Można w nim też zadeklarować, dla jakiego urządzenia i konkretnego ROM-u motyw jest tworzony. Widzimy, że każda aplikacja ma określoną nazwę i lokację w folderach systemowych, konfigurację można też wzbogacić o opis przeznaczenia danego elementu.

W naszym przypadku każdy folder odpowiada innej aplikacji, a w jego wnętrzu znajduje się ikona, której położenie jest identyczne do lokacji w pliku APK. MetaMorph po prostu podmienia/wkleja pożądane dane do odpowiedniego miejsca w danym APK, stosując się do konfiguracji zawartej w pliku Sample.xml.
Paczkę .zip umieszczamy w folderze „AndroidThemes” na karcie SD, następnie uruchamiamy MetaMorph i wybieramy z dołu ekranu opcję „Unzip/Extract New theme”. W oknie wybieramy wrzuconą przez nas paczkę i czekamy chwilę na rozpakowanie jej. Aplikacja będzie potrzebowała odrobiny czasu na wprowadzenie modyfikacji. Ostatnim krokiem będzie ponowne uruchomienie smartfonu.

MetaMorph to ciekawa propozycja pozwalająca na tworzenie motywów/modyfikacji dla wielu urządzeń. Wymagana jest jednak dobra znajomość struktury plików APK, lecz z czasem nie będzie ona dla nas problemem. Przy jego pomocy można stworzyć uniwersalne motywy kompatybilne z szeroką gamą smart fonów, kreatywni użytkownicy mogą go polubić. Temat dzisiejszego odcinka został zasugerowany przez jednego z czytelników. Jeżeli chcesz mieć realny wpływ na serię „Weekend z modowaniem”, zapraszamy do podawania swoich propozycji w komentarzach bądź kontaktowania się przez pocztę email na adres: [email protected]. W najbliższych odcinkach poruszymy kwestie związane z wewnętrznym menadżerem zadań w Androidzie, zabierzemy się za dalsze modyfikowanie wyglądu systemu i więcej. Do zobaczenia za tydzień!

Motyw