Modyfikowanie ROMów nand (android) dla HD2
...czyli dostosowanie ich do naszych potrzeb.
Jestem nowy na Forum (mój drugi post). Poniższy opis jest wyłącznie mojego autorstwa. Cieszę się że znalazłem to Forum, gdzie moge podzielić się tym, czego się nauczyłem w domowym zaciszu. Jestem kompletnym amatorem i będę wdzięczny za (cenne) uwagi dotyczące ew. błędów.
Na początek wypadałoby może zobrazować zasadę działanie systemu Android w HD2 (to dla początkujących 🙂). Systemy takie jak WinMobile czy Symbian tworzone są i działają jak jedna bryła - monolit. Oznacza to, że jakiekolwiek modyfikacje poszczególnych jego części prawie na pewno skończą się niepowodzeniem i upadkiem systemu. Aby się do nich dobrać, potrzeba sporo wiedzy informatycznej. W androidzie sprawy mają się zgoła inaczej. Pliki odpowiedzialne za poszczególne czynności (sms, telefon, muzyka, video itp) instalowane są przez instalator w ROMie osobno, jako niezależne aplikacje i uruchamiane są w razie potrzeby w odpowiednim momencie przez "centralę" która potrzebuje ich użyć. To dzięki tej właściwości właśnie, możemy sobie w domowym zaciszu conieco pozamieniać.
Kiedyś, po jakimś czasie testowania różnorakich ROMów - znajdziemy prędzej czy później - ten najfajniejszy. Ale po kolejnym z rzędu upgradzie nowej wersji ROMu zaczniemy się w końcu zastanawiać: "czy dałoby radę jakoś wstawić ulubioną i sprawdzoną aplikację do system tak, aby nie trzeba byłoby ciągle jej instalować ręcznie?". No i tu mój samouczek powinien być przydatny. Nie jest to żadne poważne kucharzenie i projektowanie ROMów - bo do tego potrzebny jest Linux na komputerze i mnóstwo, mnóstwo czasu do zmarnowania na kolejne próby.
Część Pierwsza:
Podmienianie aplikacji systemowych (z folderu System/app)
1. Jak to działa?
* Całkiem prosto. Przy użyciu managera plików z wbudowaną obsługą rozszerzenia .zip (TotalCommmander) podmieniamy wsadzone do naszego ROMu niepotrzebne pliki na te, które zawsze instalujemy po upgrade romu. Robimy to poprzez zmianę nazwy naszych ulubionych aplikacji na dokładnie takie, jakie znajdują się w ROMie instalacyjnym. Plik jest nadpisywany na ten stary ale instalator instaluje je jakby nigdy nic - nawet gdy ich "ciężar" się sporo różni. Aplikacje tak podstępnie wgrane - widnieją normalnie w telefonie.
2. Co można podmienić?
* Całkiem sporo. Pliki z tapetami do ekranu głównego (HomeScreen) oraz tło Lockscreen
* Pliki audio z dźwiękami sms, alarmami i dzwonkami połączeń
* Ulubiony Launcher (jeżeli ten preinstalowany nam nie pasuje)
* Lockscreeny, czyli pliki .mtz (je można wrzucać bez niczego - tak jak są - system je zainstaluje i wykryje)
3. Co potrzebujemy przygotować?
* ROM nand (CWR)
* TotalCommander zainstalowany w komputerze.
No i oczywiście to, co chcemy podmienić:
* Pliki z tapetami do Homescreen (960x854) i Lockscreen (480x800) Polecam zajrzeć TUTAJ (wszystkie rozdzielczości)
* Zestaw ulubionych dzwonków (mp3 lub ogg)
4. Zasady podmienienia plików w folderze System/app
* Po pierwsze - rób to z głową. NIE podmieniaj plików od których zależy sprawne działanie telefonu (np. tych z napisem provider). Jeżeli nie masz pewności co to za plik (nazwy mogą być mylące) - upewnij się za nim kryje (jak? - poniżej)
* Możesz coś co ci nie pasuje skasować (pamiętaj - z głową) ale nie wstawiaj swoich aplikacji ot tak - bez podmiany - bo raczej się nie zainstalują. Instalacja jest "sterowana" przez plik manifest.cfg a jego modyfikacja nic nie daje niestety (no Linux 🙁) (tu mogę nie mieć racji - dajcie znać)
5. To to roboty:
* Otwieramy TotalCommander i ustawiamy tak, aby w jednym oknie widać było ROM przeznaczony do modyfikacji a w drugim - nasze pliki apk do podmiany
* Gotowe? To dobrze. Teraz klikamy dwa razy na nasz ROM aby go rozpakować
* PO otwarciu ujrzymy zawartość naszego ROMu. Teraz trzeba dotrzeć do folderu z instalkami aplikacji. Folder z instalkami jest tu: system/app. Czyli otwieramy teraz folder z plikami (system/app i szukamy, co nam nie pasuje.
* Jak rozpoznać jaki to plik? Najczęściej nie po nazwie niestety. Ta może być myjąca. Co powie Ci nazwa apk101.apk? Zastosujemy prostą i dość prymitywną (ale skuteczną) metodę - na czuja 🙂. Jeżeli już trochę nasz ROM poznaliśmy w trakcie długiego procesu testów to powinniśmy w miarę łatwo rozpoznać aplikację na podstawie podglądu jej plików graficznych (skórka, przyciski, ikonki itp.). Czyli, widząc podejrzany plik w oknie TotalCommandera - klikamy na niego prawym przyciskiem myszy i z podmenu wybieramy "Otwórz za pomocą" (Open with) a następnie wybieramy z listy WinRAR (musimy go jednak wcześnie zainstalować aby był na tej liście). Plik zostanie teraz rozpakowany i w oknie zobaczymy kilka różnego rodzaju plików. Nas interesuje folder res a następnie foldery ze słowem drawable-hdpi. Klikamy na takiego dwa razy a jeżeli ujrzymy jakiś plik graficzny png - to klikamy na niego ponownie dwa razy. W ten sposób przeczesujemy folder/foldery aż do momentu upewnienia się z czym mamy do czynienia? jeszcze inną metodą jest podejrzenie pliku manifest.cfg - z cyfrowo - literowego galimatiasu można wyłuskać szczegół który nam pomoże.
* Jak już znaleźliśmy ofiarę, to w drugim oknie odnajdujemy plik który ją zastąpi. Chyba oczywistym jest, że część ważnych plików systemowych jak launchery, Galeria, mp3 player, Browser itp MUSIMY zastąpić aplikacją wykonującą te same funkcje. W przeciwnym razie niektóre funkcje przestaną nam działać a nie o to nam chyba chodziło, prawda?
6. Teraz konkrety:
- w jednym ekranie programu TotalCommander widzimy aplikację (apk) do podmiany/usunięcia
- w drugim ekranie programu TotalCommander widzimy aplikację (apk) która zastąpi tamtą
- robimy teraz jej kopię aplikacji (apk) w tym samym folderze (ctr+c ; ctrl+v) bo zakładam że, zechcemy zatrzymać oryginał w PC'cie z niezmienioną nazwą.
- Teraz musimy zmienić nazwę wykonanej w ten sposób kopii. Klikamy w tym celu raz na kopię. Nazwa powinna przejść w stan edycji. Jeżeli nic takiego się nie stało - ponawiamy jeden klik. Teraz na pewno uzyskamy stan edycji. Jeżeli tak - to za pomocą strzałek kursora w klawiaturze - przechodzimy w lewo, tak aby minąć .apk i skasować za pomocą Backspace całą resztę. Teraz wpisujemy dokładnie taką samą nazwę jaką ma aplikacja do kasacji (ta po drugiej stronie okienka). Zrobione? To wciskamy Enter. Nazwa uległa zmianie. Ostatni rzut oka czy obie nazwy są identyczne. Są? To zaznaczamy nasz podmieniony plik i wciskamy przycisk F6 na dole programu. Program powinien się zapytać czy dokonać podmiany plików? Klikamy OK i... poszło! I w ten sam sposób postępujemy z resztą plików. Czy to graficznych czy muzycznych - podmieniamy ich nazwę na dokładnie taką samą jaką ma oryginał w ROMie i przenosimy.
Dobra rada: Zapisujcie sobie gdzieś w notatniku jaka nazwa jaki plik ukrywa. Przyda się to na wypadek podmiany na nowszą wersję.
6. standardowe lokalizacje plików do podmiany:
+ System/app (aplikacje nie do usunięcia z poziomu telefonu)
+ system/media/audio/alarms (dźwięki alarmu np. budzika. Ja wstawiłem jeden ulubiony a reszta - do kosza)
+ system/media/audio/notyfications (dźwięki wiadomości sms,mms)
+ system/media/audio/ringtones (dzwonki połączeń. Ja wstawiłem jeden ulubiony a reszta - do kosza)
+ system/media/audio/ui (dźwięki systemowe np. migawka aparatu, niskiego poziomu baterii itp.)
+ system/media/lockscreen (tapety lockscreen/blokady ekranu)
+ system/media/wallpaper (tapeta główna w Homescreen)
+ system/media/bootanimation (animacja którą widzimy podczas uruchamiania Androida. Wyżej pisałem skąd możemy pobrać inne, efektowne animacje. Zamieniamy nazwę pliku na bootanimation.zip i podmieniamy)
7. Co TRZEBA zrobić zanim przystąpimy do instalacji naszego zmodyfikowanego ROMu?
Jedną ważną rzecz - umieścić obok niego niezmieniony ROM na którym właśnie pracujemy. Gdyby nasz mod nie zaskoczył (bo przekombinowaliśmy) - spokojnie wybieramy nasz stary ROM i po instalacji sprawdzamy gdzie przedobrzyliśmy. Miłego dłubania!
Część Druga:
Wgrywanie dodatkowych aplikacji (do folderu Data/app)
W niektórych romach jest jeszcze dodatkowy folder z aplikacjami: data/app. Czym się różni od System/app? Aplikacje instalowane z folderu systemsą w większości nieusuwalne z poziomu telefonu a te z folderu data - owszem. Fajne poniekąd rozwiązanie - programista może tam wrzucić pliki które wg., niego powinny nam się spodobać. Gdyby jednak tak się nie stało - spokojnie możemy je wywalić z telefonu. A jeżeli programista (kucharz) może - to my też. Pliki wsadzone do tego folderu oprócz usuwania - można spokojnie aktualizować.
1. Zasady instalacji
* Plik kopiowany do ROMu nie może mieć spacji bo inaczej się nie zainstaluje! Przykład:
Źle:
Handy Safe v1.0.5.apk
Dobrze:
Handy_Safe_v1.0.5.apk lub HandySafev1.0.5.apk
* MUSIMY sprawdzić każdą aplikację (przed skopiowaniem do ROMu) czy nie posiada w sobie folderu lib. Jeśli taki folder znajduje się w naszej aplikacji którą chcemy dodać do romu to ta aplikacja zainstaluje się niekompletnie i nie będzie działała. Aby tak się nie stało, wchodzimy w folder lib. W nim jest folder armeabi a tam plik bądź kilka plików z rozszerzeniem .so. Wszystkie pliki rozszerzeniem .so kopiujemy z aplikacji do naszego modyfikowanego ROMu do folderu lib który znajduje się w folderze system - system/lib
1. Proces instalacji
* Jak już spełniliśmy powyższe wymagania to teraz pozostaje nam tylko proste kopiowanie naszych aplikacji do folderu data/app.
* Co zrobić jeżeli nasz ulubiony ROM nie posiada folderu data/app? Niektórzy twierdzą że można nasze aplikacje skopiować do folderu systemowego system/app - nie sprawdzałem tego osobiście więc inwencję tutaj pozostawiam Wam.
To tyle. Jeżeli odkryjecie własnymi siłami coś ciekawego - podzielcie się z tym ze mną
Świeże nowości
1. Można dodać extra fotki z tapetami HomeScreen. Trzeba tylko pamiętać aby nadać im kolejną systemową nazwę, czyli taką jaką ma reszta tapet, tylko z kolejnym numerem, np. Wallpaper_009.
2. System/Media/Theme - można tu dodać swoje ulubione lockscreeny w formacie .mtz bez konieczności zmieniania nazwy (pamiętajcie tylko o nazwach aplikacji BEZ spacji).