[Tutorial] - Selfmade Live Wallpaper

  • Antworten:9
  • OffenNicht stickyNicht beantwortet

26.06.2010 22:34:02

Hallo Community!

Passend zum Blog vom 26. Juni 2010 (""Eclair auf der Hälfte der Androiden installiert""),
und den somit funktionierenden "LiveWallpapers", möchte ich euch heute ein kleines,
von mir verfasstes, Tutorial vorstellen.

Es ermöglicht euch in wenigen Schritten, ein auf euch angepasstes, ganz persönliches
Live Wallpaper zu erstellen.

Wichtig ist nur, dass man SuperUser Rechte benötigt, um die Dateien auszutauschen.
Dh. muss das Telefon bereits "gerootet" sein!!



Nun aber viel Spaß mit meinem ersten Tutorial.
--------------------------


Index des Tutorials:

1. Programme:
-1a. android-apktool
-1b. signierungs-tool
-1c. adb.exe
-1d. Bildbearbeitungs Software
-1e. 7zip

2. Benötigte Dateien:
-2a. LiveWallpapers.apk
-2b. APK-Tool (entpacken)

3. Modifizieren der Dateien:
-3a. Hintergrundbild
-3b. Script für Animationen

4. Packen und aufs Handy bringen:
-4a. APK-Tool (packen)
-4b. Signierung
-4c. Auf das Handy kopieren

Dann legen wir mal los!

1. Programme:
-1a. android-apktool

Das Android APK Tool benötigt ihr, um eure APK's entpacken und wieder packen zu können.
Downloaden könnt ihr euch das Tool unter:

Download APK Tool
(auf der rechten Seite [bitte Betriebssystem beachten])


-1b. signierungs-tool

Nachdem wir unsere Arbeit vollendet haben, muss die neu-verpackte APK wieder signiert werden.
Dafür ist dieses Tool zuständig! Ihr findet es hier zum download:

Download Signierungs Tool


-1c. adb.exe

Nichts neues...die ADB.exe sollte jeder der sein Handy gerooted hat auf dem Rechner haben.
Falls nicht könnt ihr euch die aktuelle direkt von Android.com herunterladen. Wer zu faul zum
Suchen ist, hier der Link:

Android SDK
(wieder das Betriebssystem beachten!)

Sobald es fertig heruntergeladen ist, könnt ihr es entpacken und findet die adb.exe im Ordner
"tools".



-1d. Bildbearbeitungs Software

Hier kann ich nur sagen, jeder wie er's / sie's mag!
Falls man keine Programme für die Bildbearbeitung besitzen sollte, kann ich
euch GIMP Empfehlen. Ist Freeware und äußert umfangreich. Ausserdem gibt es sehr
viele, tolle Tutorials im Netz dafür zu finden. Hier der Link:

GIMP for Windows
(natürlich auf der Seite auch für andere Betriebssysteme erhältlich.)



Nachdem wir unser System für die Prozedur vorbereitet haben, können wir jetzt direkt anfangen
die APK vom Telefon zu holen.

2. Benötigte Dateien:
-2a. LiveWallpapers.apk

In der LiveWallpapers.apk befinden sich alle Einstellungen (Bilder, Ablaufscripts,...) die unser Telefon
benötigt um LiveWallpapers darstellen zu können.
Diese Datei selbst, bekommen wir direkt von unserem Telefon. Sie liegt unter /system/app/Livewallpapers.apk.

Um sie jetzt vom Telefon herunterzuladen benötigen wir die adb.exe. Hierzu öffnen wir ein Command-Fenster
(unter MacOS "Terminal") und ziehen uns die ADB.exe von dem entpackten "Android SDK" aus dem "tools"
Ordner herein.





Nun müssen wir folgende Befehle zum kopieren verwenden:

adb.exe pull /system/app/LiveWallpapers.apk C:\GEWÜNSCHTER_ORDNER\
(mit diesem Befehl wir die Datei in den von uns ausgewählten Ordner kopiert.)

:what: Navigiert zu dieser Datei und kopiert sie am Besten direkt an einen "sicheren" Ort
damit ihr ein Backup dieser Datei habt. (Sollte etwas schief gehen oder was auch immer.)




-2b. APK-Tool (entpacken)

Die jetzt erhaltene Datei muss jetzt von unserem APK-Tool entpackt werden, damit wir etwas damit anfangen
können. Dafür benötigen wir wieder ein Command-Fenster! In dieses ziehen wir jetzt aber die Datei
"apktool.bat", und geben dahinter noch folgenden Befehl ein:

d <GEWÜNSCHTER_ORDNER\LiveWallpapers.apk> <GEWÜNSCHTER_ORDNER2>

Zur Erklärung:
Das "d" steht für entpacken.
Der erste "GEWÜNSCHTER_ORDNER" ist wo unsere "LiveWallpapers.apk" liegt
Der zweite "GEWÜNSCHTER_ORDNER2" ist das Verzeichnis wo die "LiveWallpapers.apk" hineingepackt wird.

Bsp.: apktool.bat d "C:\Android\LiveWallpapers.apk" "C:\Android\LiveWallpapers-Ordner"

Nun haben wir alle Dateien die wir brauchen zur Verfügung!
Jetzt ist deine Kreativität gefragt! :grin:

3. Modifizieren der Dateien:
-3a. Hintergrundbild

Mein Tipp an dieser Stelle an dich ist, das Nexus One Live Wallpaper abzuändern. Selbst eines erstellen
wäre im Moment noch zu viel Aufwand für uns.
Daher nehmen wir uns den Hintergrund vom gewünschten Wallpaper!

Diesen findet ihr unter:

GEWÜNSCHTER_ORDNER\GEWÜNSCHTER_ORDNER2\res\drawable-hdpi\pyramid_background.png
Bitte nicht erschrecken, sieht komisch aus mit GEWÜNSCHTER_ORDNER und so aber nochmals zur
Erklärung: "Das sind einfach die Ordner die ihr euch ausgesucht habt für eure Dateien!"

Ihr könnt nun dieses Bild x-beliebig verändern. Macht euch euren persönlichen Schriftzug oder was
auch immer, die einzige Grenze was es zu beachten gibt ist: "Finger weg von der Auflösung des Bildes!"

Meine erste Idee war einfach mal meinen Namen einzubauen:


Solltet ihr mit eurer kreativen Ader fertig sein, einfach speichern als *.png Datei und schließen.

:what: Der Name und der Ordner in dem die Datei liegt, dürfen nicht verändert werden!



-3b. Script für Animationen

Nun bearbeiten wir das Script von der Nexus One Animation so, das wir die Farben der
"flitzenden" Striche abändern.

Das ist mit etwas Hirn verbunden also gut aufpassen!
Zuerst steuern wir wieder in unseren Ordner:

GEWÜNSCHTER_ORDNER\GEWÜNSCHTER_ORDNER2\res\raw\nexus.rs

Diese Datei öffnen wir nun mit Wordpad oder einem anderen Texteditor eurer Wahl.
Sucht die Stelle:

1void setColor(int c) {
2 if (c == 0) {
3 // Now: Deep Sky Blue Pre:red
4 color(0.0f, 0.75f, 1.0f, 1.0f);
5 } else if (c == 1) {
6 // Now: Spring Green Pre:green
7 color(0.0f, 1.0f, 0.5f, 1.0f);
8 } else if (c == 2) {
9 // Now: Deep Pink Pre:blue
10 color(1.0f, 0.08f, 0.58f, 1.0f);
11 } else if (c == 3) {
12 // Now: Lavender Pre:yellow
13 color(0.90f, 0.90f, 0.98f, 1.0f);
14 }
15}




Wie euch bestimmt auffällt, stehen bei mir bereits andere Werte als bei euch
im Code. Das liegt einfach daran das ich meine Farbstrahlen in diesem Code
schon geändert habe.

Erklärung:

Nehmen wir zB. die Farbe "Spring Green". Der Code dieser Farbe ist "0-255-127"
(:what: alle Farbcodes findet ihr hier: The Other RGB Color Chart)



Nun müsst ihr diesen Code umwandeln, damit ihn euer Androide verstehen kann.
Wie ihr seht haben wir einen Code mit 3 Werten. In diesem Fall 0, 255 und 127.
Dieser muss jetzt in einen 4 stelligen Code umgewandelt werden. Die Erklärung dazu
ist eigentlich recht simpel, und zwar folgendes:

Die ersten 3 Werte, sind der Farbencode.
Der letzte, 4te Wert ist die Transparenz.

0.0f = durchsichtig
1.0f = 100% sichtbarkeit

(0.0f, 1.0f, 0.5f, 1.0f);

Zu den 3 Farbwerten...
255 ist immer das höchste und somit 1.0f.
Für alles andere benötigen wir einen Taschenrechner.
Nehmen wir nochmal das Bsp. von oben mit "Spring Green". Wir sehen das die
letzte Stelle eine 127 ist.

Tippt in den Rechner 127 / 255 = 0,498039.......
Alles was 2 stellen hinter dem Komma ist einfach runden. In diesem Fall
haben wir hier ein 0,5f.

Somit dürfte das für euch auch kein Problem mehr darstellen! :grin:
Solltet ihr nun mit eurer Farbwahl fertig sein, speichert die "nexus.rs" wieder ab
und schließt den Editor.

4. Packen und aufs Handy bringen:
-4a. APK-Tool (packen)

Da wir nun alle Dateien bearbeitet haben und schon gespannt sind, wie unser erster
eigener Live Wallpaper wohl aussieht, können wir den Ordner wieder zu einer *.apk
Datei zusammenpacken.

Ihr nehmt einfach wieder ein Command-Fenster, zieht euer APK-Tool hinein und gebt
dazu folgenden Befehl ein:

b <GEWÜNSCHTER_ORDNER2>

Zur Erklärung:
Das "b" steht für wieder einpacken.
Der "<GEWÜNSCHTER_ORDNER2" ist das Verzeichnis wo die "LiveWallpapers.apk" hineingepackt wurde.
Also einfach wieder den gleichen Ordner wie vorhin zum entpacken angeben.

Bsp.: apktool.bat b "C:\Android\LiveWallpapers-Ordner"

Nun werden in eurem <GEWÜNSCHTER_ORDNER2> zwei weitere Ordner angelegt.
<build> und <dist>. Im Ordner <dist> findet ihr eure FAST fertige *.apk Datei.



-4b. Signierung

Um eure Datei jetzt fertig zu erstellen müssen wir sie gültig signieren. Das machen wir mit dem
Signierungs-Tool. Entpackt einfach die von euch heruntergeladene "signing.zip" Datei und startet
die Datei "autosign.bat".



Nun einfach Schritt 1, 2 und 3 durchmachen (jeweils durch drücken der Zahl).
Solltet ihr das erledigt haben gebt die Taste 4 ein, um das Signier Programm aufzurufen.

Sobald ihr bei "Path?:" angekommen seit, nehmt ihr einfach eure LiveWallpapers.apk Datei und
zieht sie in das Command Fenster. Drückt "Enter" und gebt noch einmal "yes" zum Bestätigen ein.

Nun ist eure Datei signiert und ihr könnt sie verwenden!


-4c. Auf das Handy kopieren

Unser letzer Schritt ist nun, die fertige Datei zurück auf euren Droiden zu spielen. Das macht ihr
einfach wieder mit der adb.exe.
Zieht sie, wie auch oben, in ein Command-Fenster und gebt folgenden Befehl dazu ein:

adb.exe push C:\GEWÜNSCHTER_ORDNER\LiveWallpapers.apk /system/app/LiveWallpapers.apk

Die Datei wird aufs Telefon geladen und kann, ganz ohne Neustart, sofort im Live Wallpaper - Menü
ausgewählt werden. (Es ist die Nexus One Animation, nicht vergessen!) :grin:

Und nun bleibt mir nur noch zu hoffen, dass euch mein erstes Tutorial gefällt,
es verständlich geschrieben ist und ihr viel Spaß damit haben werdet!!
(Bitte melden falls Foramtierungsfehler zu finden sind...hab es aus meinem Blog Eintrag rauskopiert.)

Euer
Mike // Aerofluxx

PS: Mein erster Versuch sah dann im Endeffekt so aus...

16.09.2010 15:20:52

hey,

ich hab ein mit samdroid gemoddetes samsung spica. bei mir existiert die datei livewallpaper.apk nicht im es file explorer... wenn ich adb nutze kommt ebenfalls die meldung: remote object '/system/app/LiveWallpapers.apk' does not exist

jemand eine idee und kann mir beim problem weiter helfen?

besten dank im voraus :)

11.09.2011 12:49:05

Bei Punkt 2.

Zitiere :
Um sie jetzt vom Telefon herunterzuladen benötigen wir die adb.exe. Hierzu öffnen wir ein Command-Fenster
(unter MacOS "Terminal") und ziehen uns die ADB.exe von dem entpackten "Android SDK" aus dem "tools"
Ordner herein.


BITTE WAS !

Wo hinein soll ich das ADB.exe ziehen?
Ins Telefon.
er Standort hinein ist mir völlig unbekannt.

Bin einmal auf antwort gespannt !

14.09.2011 17:14:11

Robin Clemens
Bei Punkt 2.
Bin einmal auf antwort gespannt !

INS Command-Fenster von Windows, ich bitte um Entschuldigung sollte es unverständlich sein für dich.

Aber dafür den Beitrag als ""schlecht"" zu bewerten weil es ein Verständnisproblem gibt
finde ich doch etwas drastisch und ungerecht.

Mike

Edit sagt mir sogar das ich's dafür extra noch bebildert habe ... :)

— geändert am 14.09.2011 17:15:16

14.09.2011 19:30:28

Nein nein,
ich wollte das weiss Gott nicht schlecht machen oder es so nennen.
Nur fällt mir immer wieder auf , das auch sehr gute Tutorials , plötzlich Sprünge machen
die kaum jemand nach voll ziehen kann.

Aber das was du hier gemacht hast halte ich auch für sehr gut!

Gruß Robin


Mike K.
Robin Clemens
Bei Punkt 2.
Bin einmal auf antwort gespannt !

INS Command-Fenster von Windows, ich bitte um Entschuldigung sollte es unverständlich sein für dich.

Aber dafür den Beitrag als ""schlecht"" zu bewerten weil es ein Verständnisproblem gibt
finde ich doch etwas drastisch und ungerecht.

Mike

Edit sagt mir sogar das ich's dafür extra noch bebildert habe ... :)