[Tipp] [root] animierten Splash ersetzen

  • 52 Antworten
  • Neuester Beitrag
Diskutiere [Tipp] [root] animierten Splash ersetzen im Android Themes im Bereich Individualisierung.
Autarkis

Autarkis

Experte
Hey Leute,

Es ist 3:52 und ich weiss nicht ob ich das noch genau auf die Reihe krieg...

[Ref Tutorial] Changing the boot animation screen on google builds - xda-developers

Nach dieser Anleitung hab ich einen animierten Bootsplash erstellt und diesen ohne neu Flashen installiert. (Also nicht so wie kusotare es vorschlägt eine update.zip erstellen sondern mit adb)

Ich habe dazu folgendes getan:

1.) zwei Bilder erstellt (siehe Anhang)
2.) adb pull /system/framework/framework-res.apk gepullt
3.) die Bilder in framework-res.apk ersetzt
4.) nun wollte ich die framework-res.apk wieder auf die /system - Partition pushen, aber es hatte zuwenig Platz.
5.) da ich das neue Maps.apk vom Market benutze, brauche ich das alte nicht mehr und habe es mit adb shell rm /system/app/Maps.apk gelöscht
6.) dadurch konnte ich mit adb push framework-res.apk /system/framework/framework-res.apk den animierten Splash ersetzen
7.) mit adb shell reboot neustart - geht.

Wenn ihr die Bilder seht könnt ihr euch vorstellen wie das Blau hinter der Schrift rumzoomt. :D
 

Anhänge

Autarkis

Autarkis

Experte
Guten Morgen und vielen Dank für das schnelle Testen und die Bestätigung! :)

Der die Original-Anleitung mit Reflash statt mit adb push auf xda-developers.com geschrieben hat (kusotare) hat inzwischen auch bestätigt dass es so geht. :D
 
2

2Stoned

Fortgeschrittenes Mitglied
Hallo
Habe das mal probiert, aber das Terminal sagt mir folgendes:

id@id-LINUX:~$ sudo '/home/id/Desktop/android-sdk-linux_x86-1.1_r1/tools/adb' start-server
[sudo] password for id:
id@id-LINUX:~$ sudo '/home/id/Desktop/android-sdk-linux_x86-1.1_r1/tools/adb' push '/home/id/Desktop/android-sdk-linux_x86-1.1_r1/tools/framework-res.apk' /system/framework/framework-res.apk
failed to copy '/home/id/Desktop/android-sdk-linux_x86-1.1_r1/tools/framework-res.apk' to '/system/framework/framework-res.apk': Read-only file system

Wo liegt der Fehler?
 
Autarkis

Autarkis

Experte
Da wir die Systempartitionen beschreiben, musst du ein

adb remount

vorausschicken. Das ermöglicht es dir, die Systempartition genüsslich zu zerschiessen, äh ich mein, zu beschreiben. ;)
 
2

2Stoned

Fortgeschrittenes Mitglied
Ahh, geil, funzt ja :)
Welche Grösse stellt man am besten ein, damit das ganze Display ausgenutzt wird?
320 x 480
So, jetzt kann ich auch noch die beiden vorher erscheinenden Splashscreens ersetzen ... :)
 
Autarkis

Autarkis

Experte
Das geht leider NICHT. Die Maximalgrösse des Logos sind die im xda-devs angegebenen 256x256, der Hintergrund darf max. 512x256 gross sein.

Aber man kann schon einiges damit machen. :)
 
2

2Stoned

Fortgeschrittenes Mitglied
sehr schade...
aber so ist auch sehr geil :p

Nur mit dem Splash habe ich so meine Probleme :S

id@id-LINUX:~$ '/home/id/Desktop/rgb2565-linux-i386' < '/home/id/splash.raw' > /home/id/splash.raw565
bash: /home/id/Desktop/rgb2565-linux-i386: Permission denied

Es will einfach nicht :S
 
Johnassel

Johnassel

Neues Mitglied
Autarkis schrieb:
Das geht leider NICHT. Die Maximalgrösse des Logos sind die im xda-devs angegebenen 256x256, der Hintergrund darf max. 512x256 gross sein.

Aber man kann schon einiges damit machen. :)
Hmmm, meine Bilder sind beide 320*480 Pixel groß und es funktioniert sehr gut...
 
Autarkis

Autarkis

Experte
Johnassel schrieb:
Hmmm, meine Bilder sind beide 320*480 Pixel groß und es funktioniert sehr gut...
Gemäss des Tutorials von kusotare ist die maximale Breite 256. Von der Höhe schreibt er nichts - mein Fehler. Vielleicht bemerkst du bei deiner Bildwahl nicht, dass der Rand abgeschnitten wird? Ist da ev. schon schwarz?

Ich habe heute ein neues gemacht, das ich euch nicht vorenthalten will.

Noch zwei Tipps:

In GIMP eignet sich die Script-Fu Funktion "Plasma" und der Filter "Map - Make Seamless" um solche Hintergründe zu erschaffen.

Da ich oft am experimentieren bin, hab ich jetzt dieses Script

Code:
#!/bin/bash
adb remount
adb push framework-res.apk /system/framework/
adb shell reboot
das mir viel langweilige Tippslerei spart. :)
 

Anhänge

Zuletzt bearbeitet:
Johnassel

Johnassel

Neues Mitglied
Autarkis schrieb:
Gemäss des Tutorials von kusotare ist die maximale Breite 256. Von der Höhe schreibt er nichts - mein Fehler. Vielleicht bemerkst du bei deiner Bildwahl nicht, dass der Rand abgeschnitten wird? Ist da ev. schon schwarz?
Das kann natürlich sein, außenrum ist alles schwarz. Müsste man mal testen ob wirklich was abgeschnitten wird.
 
Eclipse

Eclipse

Fortgeschrittenes Mitglied
Wie bekomm ich das "T-Mobile G1" welches direkt beim starten erscheint weg? Muss ich da härter durchgreifen?
 
2

2Stoned

Fortgeschrittenes Mitglied
Das gehört zum Splash, du kannst hier und hier (und hier) nachlesen wie es geht!
Aber bei mir funzt es nicht mit dem umwandeln ins raw :S
 
Autarkis

Autarkis

Experte
2Stoned schrieb:
Das gehört zum Splash, du kannst hier und hier (und hier) nachlesen wie es geht!
Aber bei mir funzt es nicht mit dem umwandeln ins raw :S
Permission denied - mach mal ein

chmod a+rx

auf die Datei.
 
Eclipse

Eclipse

Fortgeschrittenes Mitglied
2Stoned schrieb:
Das gehört zum Splash, du kannst hier und hier (und hier) nachlesen wie es geht!
Aber bei mir funzt es nicht mit dem umwandeln ins raw :S
Wenn es zum Spash gehört, wieso kann ich es dann nicht nach dem Schema wie Autarkis es hier beschreibt, ändern?
Wieso muss ich da ein update.zip erzeugen?
 
2

2Stoned

Fortgeschrittenes Mitglied
Weil das nicht der splash ist, welches Autarkis hier beschreibt, sondern das animierte Bootlogo, welches nach den beiden Splashs folgt ...
Also bei mir kommen beim Starten 2 verschiedene Splashs, und dann noch das "animierte" Bootlogo.
 
Autarkis

Autarkis

Experte
Eclipse schrieb:
Wie bekomm ich das "T-Mobile G1" welches direkt beim starten erscheint weg? Muss ich da härter durchgreifen?
Das T-Mobile ist der splash1.

Mit

fastboot splash1 neuersplashscreen.raw565

Als Coder kannst du entweder das Skript hier einsetzen (von RyeBrye, nicht von mir, und aber von mir getestet, es funktioniert) - oder aber das Skript lesen und so genau sehen wie man vorgehen muss. :)

Hope this helps.

Code:
#!/bin/bash
#
# Author: RyeBrye (Ryan Gardner)
# http://ryebrye.com/blog/
# License: Quad-license: GPL / LGPL / BSD / Apache. Pick whichever one you want! :P
#
# Special thanks to Disconnect and bgupta for their work towards this, and Google / Brian Swetland for
# making such a cool tool as fastboot :)
#
# This script converts an input image into a rgb565 file that you will flash to your phone. You should 
# boot your phone into fastboot mode and run this. (power off phone, then hold down the back
# button and the power button to load into the bootloader. on a hacked G1, you should see the 
# skateboarding android image and the text "FASTBOOT" on the phone)
# 
# 
# Tested input files that work: PNG, or BMP (others will probably work as well)
#	
# This script is for the T-Mobile G1 that has a fastboot bootloader flashed onto it,
# or a Dev Phone. 
#
# Requires: Image Magick to be installed and in your path (so the convert command works)
# Requires: rbg2565 to be installed and in your path (built as part of the android source build)
# Requires: fastboot to be installed and in your path (build at part of the android source build)
#
# useage: ./splashimage.sh inputimage.png
# results: will flash your splash image, and reboot your phone so you can see your handiwork! :)
#
# 
#
echo "Converting input image to rgb888 raw (saving in temp directory)"

# perhaps some kind of dithering could be put here to make it not have gradient banding
# on some images? someone with more knowledge of imagemagick will have to do this :)
convert -depth 8 $1 rgb:/tmp/splash.raw

#convert image
echo "Converting input image to rgb565 (saving in temp directoy)"
rgb2565 < /tmp/splash.raw > /tmp/splash.raw565

#checking size
eval $(stat -s /tmp/splash.raw565)
if [ "$st_size" == "307200" ]; then
	echo "Flashing splash image to phone..."
	fastboot flash splash1 /tmp/splash.raw565
	echo "Rebooting phone..."
	fastboot reboot	
	echo "Cleaning up temp files..."
	rm /tmp/splash.raw
	rm /tmp/splash.raw565
else
	echo "File was not the expected size. Make sure you are using an 8-bit 320x480 PNG as the original source."
Es gibt auch noch einen splash2 - wenn das T-Mobile -Logo nach dem überschreiben mit einem beliebigen Screen (z.B. schwarz) noch einmal aufblinkt, mit

fastboot flash splash2 erase

löschen. :)
 
2

2Stoned

Fortgeschrittenes Mitglied
Ich kriege folgendes:

id@id-LINUX:~$ '/home/id/Desktop/fastboot-linux-i386' devices
id@id-LINUX:~$ '/home/id/Desktop/fastboot-linux-i386' flash splash1 '/home/id/splash.raw565'
< waiting for device >


sollte nach fastbbot devices nicht was angezeigt werden?
 
Autarkis

Autarkis

Experte
Doch. Fastboot braucht root.
 
2

2Stoned

Fortgeschrittenes Mitglied
Ja, die Skater kommen auch...
Hab also hSPL drauf, und ein modifiziertes JF Image von t4c (0.6).