Upiększamy start Androida - bootanimation
04.03.2013 12:36
Ostatnio natchnęło mnie do usunięcia simlocka a tym samym po drodze zrootowaniu telefonu to postanowiłem zagłębić się w animacje, które widzimy przy starcie telefonu.
Poszukałem informacji i generalnie jest z tym bałagan w Polskiej przestrzeni i często jest się odsyłanym do miejsc anglojęzycznych a tam - jak zauważyłem nie każdy sobie radzi.
Generalnie operacja ta jest bardzo prosta, potrzebujemy stworzyć plik bootanimation.zip. Do tej zmiany potrzebny będzie root - inaczej tego nie wykonamy (chyba, że któreś telefony posiadają w oprogramowaniu możliwość wskazania innego pliku).
Poszukujemy lokalizacji pliku z animacją
W moim przypadku (czyli Cyanogenmod) plik ten znajduje się w katalogu /system/media ale w zależności od systemu może być gdzieś indziej, czyli do przeszukania mamy katalogi:
- /system/media
- /data/local
- /system/customize/resource (to dla HTC Sense)
a jeżeli nie znajdziemy to szukamy poprostu tego pliku w telefonie.
Opis pliku bootanimation.zip
Plik bootanimation.zip to zwykły plik zip o zerowej kompresji (opcja zachowaj lub store w zależności od wersji językowej aplikacji do kompresji). W pliku znajdziemy następujące pliki/katalogi (mogą się różnić katalogi):
- desc.txt
- part0
- part1
part0 i part1 (czasami można spotkać tylko part0) to katalogi zawierające pliki z której składana jest animacja, czyli:
part0
- cm_001.jpg
- cm_002.jpg
- cm_003.jpg
- cm_004.jpg
part1
- cm_005.jpg
- cm_006.jpg
- cm_007.jpg
- cm_008.jpg
- cm_009.jpg
- cm_010.jpg
mniej więcej tak wygląda rozkład katalogów i plików. To co jest w katalogu part0 musi zaczynać się numerowanie i w katalogu part1 numerowanie powinno być kontynuowane tak jak w part0. Ważne aby część bez numeracji nazywała się tak samo czyli np cm_ i kolejny numer.
Czas na plik desc.txt, powinien on zawierać: 480 800 25 p 1 0 part0 p 0 0 part1
gdzie:
480 to szerokość klatki (szerokość obrazu) 800 to wysokość klatki (wysokość obrazu) 25 to ilość klatek na sekundę
Rozdzielczość może być oczywiście inna ale trzeba brać pod uwagę możliwości naszego smartfona ponieważ inaczej może animacja się nie uruchomić.
p - określa początek wpisu pierwszej animacji 1 - oznacza ile razy animacja ma się zapętlić (w tym przypadku raz) 0 - oznacza czas pauzy po zakończeniu odtwarzania (maksymalnie 10, 0 jest dla braku pauzy) part0 - nazwa katalogu gdzie znajdują się obrazki dla pierwszej części animacji
p - określa początek wpisu drugiej animacji 0 - określa w tym przypadku ilość zapętleń animacji - tutaj nieskończoność, czyli do czasu uruchomienia systemu 0 - czas pauzy po każdym przebiegu animacji part1 - nazwa katalogu gdzie znajdują się obrazki dla drugiej części animacji
Dozwolone typy obrazów
Dozwolone pliki to JPG i PNG (możliwe, że inne ale nie znalazłem na to odpowiedzi). Dużo animacji zawiera w sobie głównie pliki JPG chociaż gdzieniegdzie piszą aby stosować pliki PNG dla uzyskania najlepszej jakości.
Pliki PNG powinny być o następujących parametrach: kolory RGB, 24 bit, dpi można ustawić na dowolny w sumie rozmiar bo rozmiar tutaj jest definiowany rozdzielczością w pikselach. Ważne aby nie ustawiać przeźroczystości (transparency) i przeplotu (interlace).
Tworzymy plik ZIP
Możemy użyć dowolnego programu do kompresji byle by tylko pozwalał wybrać stopień kompresji i tworzył wynikowo format zip. Ja korzystam z 7Zip, który to umożliwia.
Nazwa pliku może być inna od bootanimation.zip - zależne od telefonu, ale narazie widziałem głównie standardową nazwę.
Wgrywamy plik do telefonu
Jak już pisałem na początku, telefon musi być zrootowany i przydało by się posiadać menadżer plików, który pozwala na przeglądanie katalogów systemowych. Ja korzystam z ES Explorer.
Trzeba jeszcze ustawić uprawnienia pliku na:
Teraz możemy spokojnie zrestartować telefon i cieszyć się naszą animacją :)