Witam,
Chciałem podzielić się z wami odnośnie pisania theme na adroida. Ponieważ zajmuję się już tym trochę, postaram się wam przybliżyć odrobinę arkana magii napisania własnego tematu i cieszenia się nim długi długi czas. Opis zawarty tutaj opiera się o najnowszą dystrybucję andka - Gingerbread
1. Co potrzebujemy:
- Program graficzny - gimp, photoshop
- Android SDK
Android SDK | Android Developers
- Aplikację Auto Sign (aplikacja do podpisywania zmienionych plików)
Hotfile.com: Hébergement de fichiers par un clic: Auto-sign.zip
- Dekopilator i kompilator APK - przekształcający pliki XML na właściwą formę:
- Hotfile.com: Hébergement de fichiers par un clic: kompilator.zip
2. Gdy posiadamy już opisane w punkcie pierwszym oprogramowanie musimy mieć rom który będziemy zmieniać. Procedura jest taka sama na wszystkich romach i nie ważne czy i co i gdzie postanowimy zmienić ikony pasek notyfikacji itd. Posiadamy więc wgrany nudny rom który chcemy zmienić.Otwieramy go dowolnym programem do rozpakowania archiwum i wypakowujemy następujące pliki:
/System/Framework/com.htc.resources.apk
/System/Framework/framework-res.apk
/System/App/SystemUI.apk
/System/App/Settings.apk
/System/App/HtcDialer.apk
/System/App/phone.apk
Pliki te odpowiedzialne są za wyglad:
Htcdialer - dialer telefonu
phone - telefon po wybraniu numeru
Settings - ustawienia
SystemUI - Wiget zarzadzana energią i część dalszych ustawień
Pozostałe pliki odpowiedzialne są za wygląd oraz ogólna kolorystykę tematu
3. Gdy posiadamy już wyodrębnione pliki zmieniamy im nazwę z lalala.apk na lalal.zip i wypakowujemy folder RES i zaczynamy zabawę.
Zazwyczaj foldery w tych plikach wyglądają identycznie.
/anim = animacje
/color = kolorystyka
/drawtable = kolorystyka
/drawtable-HDPI = tutaj są wszystkie ikony i cała korotystyka.
Przechodzimy do folderu /drawtable-hdpi, otwieramy dowolny plik png w programie graficznym i zmieniamy kolor z zielonego na np. fioletowy, biało czarne ikony na kolorowe (proszę pamiętać o właściwym rozmiarze w pikselach i o palecie barw - nie warto dawać 24 bitowego koloru bo poza zwiększeniem rozmiaru efekt nie będzie widoczny). Zapisujemy zmieniony plik PNG. Następnie zapisane zmiany wgrywamy do pliku ZIP zastępując te co były, zmieniamy nazwę z zip na apk.
4. Bierzemy teraz oryginalny rom i usuwamy z niego wszystkie pliki z wyjątkiem naszego themowanego zostawiając strukturę katalogu prowadząca do tego pliku (pozostałe katalogi można usunąć) następnie zamieniamy plik w archiwum na nasz ... i już. Odpalamy telefon w recowery i wgrywamy. Zaczynają być widoczne zmiany 🙂
====================================================================
Powiecie pewnie zaraz a do czego pozostałe zamieszczone w punkcie pierwszym aplikacje? Macie rację - w miarę rozwoju waszej wiedzy zaczniecie napotykać na dziwne problemy:
1. Pliki PNG z nazwą 9. Pliki te są plikami o zdefiniowanym obszarze wyświetlania tzn, że są rozciągane w obrębie danego zakresu. Otwierając tego typu plik z godnie z powyższa procedurą nie będziemy widzieć obszaru który jest rozciągany.
Aby go zobaczyć musimy rozpakować daną aplikację dekompilatorem APK robimy to tak:
- wgrywamy dana aplikację do dekompilatora
- uruchamiamy tryb wiersza poleceń, wchodzimy do kompilatora (CD )
- wpisujemy
apktool d nazwapliku.apk nazwapliku
- po chwili widzimy wypakowane pliki wchodzimy do tego samego folderu znajdujemy 9.png i otwieramy go przenoszać do programu z SDK (draw9patch) widzimy tam zdefiniowany obszar wyświetlania (zapamiętujemy go)
Otwieramy nasz zmieniony w pierwszej części t9.png w draw9patch-u i ustawiamy dokładnie taki sam obszar wyświetlania, zapisujemy plik, podmieniamy go w folderze z rozpakowanym apsem i kompilujemy danego apsa:
apktool b nazwa nazwa.apk
Plik jest poprawiony i możemy wyciągnąć nasza zmienioną grafikę. Po kompilacji linie obszaru nie powinny być widoczne w programach graficznych 🙂
=============================================================
JEsli nasz apek po testach wygląda właściwie podpisujemy go programem auto-sing i to wszystko.