Projekt HTC Desire HD Splash und Boot Animation
Splash
Einführung
Der Splash Screen ist das Bild, das beim Start des Smartphones als erstes angezeigt wird. Standard ist der weiße Bildschirm mit grünem HTC Logo und schwarzem "quietly brilliant" Schriftzug. Man kann es aber gegen ein beliebiges Bild austauschen.
Voraussetzungen
- Der Splash Screen muss beim HTC DHD in einen Bereich geflasht werden, für den S-OFF (Security ausgeschaltet) sein muss. Wie man das erreicht ist hier nicht beschrieben. Ggf. googeln.
- Die Anweisungen sind für Linux mit installiertem Android SDK. Aber mit Windows geht es ungefähr genauso.
- Smartphone Image mit freigeschalteten Entwickleroptionen und USB Debuging ein
* 7x auf Einstellungen/Über das Telefon/Build-Nummer tippen schaltet Entwickleroptionen frei * jetzt über Einstellungen/Entwickleroptionen/USB-Debugging einschalten
Bild vorbereiten
Der Bildschirm hat die Auflösung 480x800. Man benötigt also ein Bild in dieser Dimension. Außerdem muss es ein ganz bestimmtes Speicherformat haben, sonst sieht man am Ende nur Müll. Mit Gimp kann man ein beliebiges Bild entsprechend skalieren und es dann als Windows BMP exportieren. Bei den BMP Export-Optionen dann Kompatibilitätsoption "Farbraum nicht schreiben" und erweiterte Option 24-bit wählen.
Dieses Bild muss nun noch mit dem Tool nbimg weiter modifiziert und dann nach splash1.img umbenannt werden. Infos zum Tool incl. download gibt es hier: http://forum.xda-developers.com/showthread.php?t=405118
wget -O nmbimg-1.1win32.zip http://forum.xda-developers.com/attachment.php?attachmentid=97694 unzip nmbimg-1.1win32.zip wine nbimg.exe -F ein-24bit-480x800-bild.bmp -w 480 -h 800
Das Ergebnis ist eine Datei mit der Endung .bmb.nb
Flashen
Jetzt das Smartphone mit USB verbinden. Die Verbindung verifizieren mit
adb devices
Es sollte das Smartphone angezeigt werden:
List of devices attached HT0AVRX05387 device
Wenn statt "device" "offline" angezeigt wird, kann es sein, dass das Smartphone auf dem Display um Erlaubnis für die Verbindung fragt -> bestätigen.
Dann Gerät in Fastboot Modus bringen
adb reboot-bootloader
Und jetzt das Bild flashen
fastboot flash splash1 ein-24bit-480x800-bild.bmp.nb
Jetzt das DHD neu starten und am neuen Startbild erfreuen :)
Boot Animation
Einführung
Die Boot Animation ist ein kurzes Filmchen, das nach dem Splash Screen während des Startvorgangs angezeigt wird. Es handelt sich im wesentlichen um zwei Abfolgen von Jpeg Dateien. Eine Startsequenz und eine Endlosschleife. Die Jpeg Dateien sind in zwei Unterverzeichnissen part0 und part1. Diese sind zusammen mit einer Steuerdatei desc.txt in einer nicht komprimierten Zipdatei namens bootanimation.zip.
Ich habe einiges versucht, um die vorhandene Datei in der Standardlocation /system/media zu ersetzen. Es ist mir aber nicht gelungen. Jetzt mache ich das mit einer App "Boot Animations" aus dem Play Store. Diese bietet einige nette Animationen zum Download, aber man kann auch eine eigene Zip-Datei von der SD-Karte nehmen.
Voraussetzung
Gerootetes Smartphone. Die App braucht su Rechte um die Animation zu schreiben.
Erstellen einer Boot Animation
Ein beliebiges Filmchen erstellen (z.B. mit der Smartphone Kamera).
Aus diesem Film mit ffmpeg zwei kurze Sequenzen als Jpeg Dateien extrahieren.
mkdir part0 part1 ffmpeg -r 25 -ss 0 -t 2 -i VIDEO0119.3gp -b:v 2000 -q:v 1 -qcomp 0 -qblur 0 -s 480x480 -f image2 part0/%03d.jpeg ffmpeg -r 25 -ss 2 -t 2 -i VIDEO0119.3gp -b:v 2000 -q:v 1 -qcomp 0 -qblur 0 -s 480x480 -f image2 part1/%03d.jpeg
Die Optionen im einzelnen (die Reihenfolge ist wichtig). Sie müssen entsprechend dem Ausgangsmaterial angepasst werden.
-r 25 : 25 Bilder pro Sekunde extrahieren (Die Animation hält sich da beim Abspielen aber leider nicht dran) -ss 0 : 0 Sekunden am Anfang der Eingabedatei überspringen -t 2 : 2 Sekunden (also bei -r 25 insgesamt 50 Bilder) extrahieren -i videodatei : die Eingabedatei -s 480x480 : Die Größe der Jpeg Bilder. Das Eingangsmaterial wird entsprechend skaliert, ggf auch gestaucht -b:v 2000 -q:v 1 -qcomp 0 -qblur 0 : regelt die Ausgabequalität. Sollte so immer ok sein. %03d : Platzhalter für dreistellige Zahlen im Dateinamen.
Die Steuerdatei sieht dann z.B. so aus:
480 480 48 p 1 0 part0 p 0 0 part1
Im Moment weiß ich leider noch nicht, welche Werte hier erlaubt sind und was genau sie bedeuten.
Das ganze nun in eine Zip-Datei packen
zip -r0 meine-bootanimation.zip desc.txt part0 part1
Installieren der Boot Animation
Dieses Zip auf die SD-Karte übertragen und dann in der App im Reiter Local auswählen und Install selektieren.
Das war's schon :)