Projekt HTC Desire HD Splash und Boot Animation

From JoBaPedia
Jump to navigation Jump to search

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 :)