Skocz do zawartości
draxterix

TUTORIAL Jak napisać własny theme na androida

    Rekomendowane odpowiedzi

    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.

    Edytowane przez baca01

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x