CWM Zip mit lieblings apk/apps erstellen?

rainbowsixpro1

rainbowsixpro1

Fortgeschrittenes Mitglied
29
ich flashe hier und da mal öfters und da muss ich immer alle meine apps neu installieren
das sind circa 50 stück da kann das schonmal länger dauern

deshalb wollte ich fragen wie kann man eine zip erstellen
die man in cwm flasht und dann fertig die apps sind dann da
so wie eine rom halt nur das nur apps installiert werden und nix anderes
hab schon titanium backup und mybackup root ausprobiert aber beide waren umständlich
das einzigste backup tool welches richtig gut ist, ist das aus dem miui rom nur glaub ich das es nicht unter anderen roms benutzbar ist.

frage:
wie erstelle ich eine zip nur mit apps befüllt sodass ich die in cwm installieren kann ?

Keine aw?
 
Zuletzt bearbeitet:
Hallo Leute,

ich möchte ein Tutorial schreiben wie man Update-Zip's erstellt. Zum einen für simple Sachen wie APK's später für größere Sachen wie z.B. recoveries.
Allerdings stoße ich selbst schon auf Probleme.

Was ich getan habe:

Code:
[ordner1]/system/app/app.apk
[ordner1]/META-INF/com/google/android/update-script

ich habe das dann als zip gepackt und geflasht, die Recovery sagt mir auch "erfolgreich", aber die app ist nicht in /system/app wenn ich das ROM boote.
Folgendes Steht im Update-Script:

Code:
show_progress 0.1 0

copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app
show_progress 0.1 10


Kann mir jemand helfen?


Danke vorab
Nexus S
 
Hallo,

wie kann ich eine.zip erstellen in der nur die jeweiligen .png Dateien einer apk ausgtauscht werden können.

Sprich ich möchte z.B.: nur die Quickpanel Icone in der SystemUi.apk ändern.

Der Aufbau sollte doch eigentlich so sein.

META-INF
system

im META-INF Ordner befindet sich:

com/google/android/update-binary und updater-script
CERT.RSA
CERT.SF
Manifest.MF

im system Ordner befindet sich:

app

in diesem wiederum ein Ordner

SystemUi.apk (nicht gepackt nur ein normaler Ordner)

in diesem befindet sich

res / drawable - hdpi und dann meine .png Dateien

ist der Aufbau so korrekt ?

Wie sollte das Update Script aussehen ?

Wenn ich die komplette SystemUi.apk in den app Ordner lege anstatt dem SystemUi.apk Ordner klappt es ,
aber ich möchte halt nur diese paar .png Dateien flashen und nicht die gesamte SystemUi.apk.

Gruß
Marcel
 
Update.zip - Hintergund, Aufbau und Funktion
Zunächst einmal vielleicht eine Erklärung was eine Update.zip bzw. was diese spezielle Update.zip für eine Datei ist und was man damit machen kann. Die meisten haben vermutlich schon einmal den Recoverymodus von ihrem Android Telefon gesehen. Dies ist ein spezieller Modus in dem nur rudimentäre Systeme laufen. In diesem Modus lassen sich z.B. Kernel oder ganze ROMs flashen. Aber auch Einstellungen bei den neueren Kerneln können hier vorgenommen werden.
Die Update.zip ist eine Datei die man eben in diesem Modus nutzen kann um auf einen Schlag alle Apps die man benötigt auf dem Telefon zu installieren. Dazu wird die update Funktion des Recovery Modus genutzt. Das von mir erstellte Script (es befindet sich in der Update.zip) macht, nachdem man es gestartet hat, nichts anderes als alle Apps die sich in der Update.zip befinden in das Verzeichnis /data/app auf dem Telefon zu kopieren. Dadurch tauchen die Apps beim nächsten Neustart als installiert auf und man hat sich die mühsame Arbeit gespart alles einzeln nacheinander zu installieren. So weit erst mal zum groben Ablauf. Im folgenden werde ich genauer auf die Funktion und den Aufbau der Update.zip eingehen.
Aufbau der Update.zip
Wenn man sich die Update.zip bzw. deren Inhalt ansieht, dann wird man folgende Ordner bzw. Dateien darin entdecken:
Struktur (Ordner sind normal und Dateien kursiv dargestellt)

data
+ app
Facebook.apk
META-INF
cert.rsa
cert.sf
manifest.mf
+ com
+ google
+ android
update-binary
update-script
install.sh
Im folgenden werden wir uns nur mit den Dateien install.sh und update-binary sowie update-script beschäftigen, da diese die einzigen Dateien sind an denen wir Veränderungen vornehmen müssen.
updater-script

ui_print("***** Mounting system... ******");
run_program("/sbin/busybox", "mount", "/data");
show_progress(1, 15);
ui_print("***** Extracting APKs... ******");
run_program("/sbin/mkdir", "-p", "/tmp/data/app");
package_extract_dir("data/app", "/tmp/data/app");
package_extract_file("install.sh", "/tmp/install.sh");
set_perm(0, 0777, 0777, "/tmp/install.sh");

ui_print("***** Copying new APKs... ******");
run_program("/tmp/install.sh");
ui_print("***** Unmounting system... ******");
run_program("/sbin/busybox", "umount", "/data");
ui_print("***** Installation complete! ******");

ui_print("***** Mounting system... ******");
Der Befehl ui_print gibt eine Meldung auf dem Display des Handys aus. In der ersten Zeile wird so dem Benutzer mitgeteilt, dass ein Verzeichnis gemountet wird.
run_program("/sbin/busybox", "mount", "/data");
Hier wird nun die busybox gestartet und das Verzeichnis /data gemountet um dort später die APKs rein kopieren zu können.
run_program("/sbin/mkdir", "-p", "/tmp/data/app");
An dieser Stelle wird ein Verzeichnis im tmp Ordner erstellt. Dieses wird ebenfalls für den Kopiervorgang benötigt.
package_extract_dir("data/app", "/tmp/data/app");
Mit diesem Befehl wird jetzt das Verzeichnis "data/app" aus der Update.zip in das eben erstellte Verzeichnis im tmp Ordner entpackt.
package_extract_file("install.sh", "/tmp/install.sh");
Um die entpackten Dateien zu kopieren wird nun noch das install.sh Script in das gleiche Verzeichnis entpackt.
set_perm(0, 0777, 0777, "/tmp/install.sh");
Da man root Rechte benötigt um in das Verzeichnis /data/app Dateien zu kopieren werden die Rechte des Scripts auf 0777 gesetzt.
run_program("/tmp/install.sh");
Hier wird das eigentliche Script zum kopieren der Apps gestartet.
run_program("/sbin/busybox", "umount", "/data");
Nach erfolgtem kopieren muss das Verzeichnis /data noch ausgebunden werden. Das geschieht wieder mit dem Aufruf der busybox und mit dem Befehl unmount.
install.sh
In der install.sh steht eigentlich nicht viel drin. Lediglich eine Zeile wird benötigt um die Apps an die richtige Stelle zu kopieren.

cp -R /tmp/data/app/* /data/app

Der Befehl cp steht für Copy und kopiert rekursiv (Option -R) alle Dateien und Verzeichnisse aus dem Verzeichnis "/tmp/data/app/*" nach "/data/app". In den Schritten zuvor haben wir ja dafür gesorgt, dass die Apps aus der Update.zip in das Verzeichnis "/tmp/data/app/" extrahiert werden.
update-binary
Damit das ganze Script auch funktioniert muss man noch die update-binary in der Update.zip mit der update-binary aus der aktuell installierten Firmware ersetzen. Diese findet man im Verzeichnis META-INF -> com > google -> android auf dem Telefon.
Abschließender Hinweis
Alle Änderungen die man an der update.zip vornimmt darf man nur direkt im Archiv vornehmen. Das heißt man darf die ZIP datei nicht entpacken sondern verändert oder ergänzt alle Dateien im Archiv. (Dazu einfach mit 7-zip das Archiv öffnen. Die Apps die man installiert haben möchte kann man so auch einfach dem Archiv hinzufügen. Leider habe ich noch keine Möglichkeit gefunden die Marketlinks mit zu sichern bzw. zu kopieren. Deswegen funktionieren die Updates dann nicht.
 
  • Danke
Reaktionen: Lord Gundolf und atamiga
Hallo,

endlich mal ein wenig Durchblick. Ich habe z.B. die Archive ausgepackt, Dateien hinzugefügt und wieder gespeichert. In der CWM bekam ich die Fehlermeldung: Defekte Updatedatei (sinngemäß).
Jetzt ist klar warum. Kannst Du eine Update.zip mal bereitstellen. Z.B. mit der SystemUI.apk. Dann kann ich mich mal daran austoben.

Die Signatur der update.zip muss doch mit einem Programmbestandteil aus dem Android SDK erstellt werden können. Oder?
 
Ich habe folgende Überlegung:

Da ich beinahe täglich (manchmal stündlich) ein neues ROM installiere, von Titanium-Backup aber nicht wirklich überzeugt bin, hab ich mir überlegt, aus den Gratis-Apps und meinen gakauften Apps aus dem Market eine Zip-Datei zu erstellen, mit der ich übers CWM auf einen Schlag alle Apps installieren kann, ohne den ewig langen Umweg über den Market zu nehmen.

1. Frage: Wie komme ich an die .apks, nachdem ich sie installiert habe?
2. Frage: Wie muss die .zip aufgebaut sein, damit die Installation übers CWM funktioniert?
3. Frage: Ist das eine Schnapsidee und Titanium Backup doch die bessere Lösung?

Für Eure Antworten, Meinungen, Tipps etc. bin ich dankbar :smile:
 
1) Die findest du unter /data/apps/

Ich seh aber ein Problem mit den gekauften Apps...
Manche haben die Market-Lizensierung eingebaut, d. h. es könnte dann zu Problemen führen (die App denkt das du sie aus dem Internet geklaut hast). Das Problem besteht jedoch auch bei Titanium Backup

EDIT:
3) Iich find des jetzt nicht unbedingt eine Schnapsidee, ist halt auch erstmal ein Zeitaufwand.
Ansonsten denk ich sogar das es vllt. schneller geht als TB
 
  • Danke
Reaktionen: Kai44137
Zu 1) Kleines, kostenloses Tool "App Backup & Restore" (157 KiB) installieren und anwenden. Die Apps findet man dann im gleichnamigen Ordner auf der (letzten) Speicherkarte.
Zu 2) Eine "update.zip" besorgen, zerlegen und das Skript studieren; bei weiteren Fragen dazu im richtigen Unterforum vorstellig werden.
Zu 3) Für den privaten Gebrauch der absolute Overkill (die Lösung von 1) reicht), es sein denn, Dir ist fad' und Du brauchst / suchst neue Aufgaben / Herausforderungen.
 
  • Danke
Reaktionen: Kai44137
Sollte ich den "Overkill" hinbekommen läuft dieser auf allen Devices, nicht nur auf dem S2? Dann definitiv falsches Forum... War mir nicht bewusst, dass das dann auf jedem Gerät klappt...
 
Jein, denn es gibt zig Versionen von update-binaries (selbstverständlich ohne nähere Versionsangaben oder sonstige zweckdienliche Hinweise), sodass man sich eine zum jeweils genutzten Minibetriebssystem passende heraussuchen muss. :tongue:

Ähnliches gilt natürlich auch für die Skriptsprache usw. Überhaupt liegt in diesem bereich meines Erachtens einiges im Argen. :sneaky: Zwar ist vieles Open Source, aber irgendwelche näheren Angaben zum Befehls- und Funktionsumfang oder der Zielhardware der jeweiligen ADB, Fastboot, BusyBox, SQLite, su-binary, update-binary, update-binary-Skripte & Co. sucht man meist vergebens! :thumbdn: Oder ich war eben bisher schlicht und ergreifend zu dämlich dafür :sad:, ein entsprechendes Forum (statt zig nichtssagender Websites) dafür zu finden. Da wird lustigst kompiliert und in Umlauf gebracht. Selbst die OS-Hersteller schreiben tausende Versionen lang die selbe fachliche Schei**e in ihre Skripte usw. :blink:

Aber als Entwickler der KERUKs kann ich Dich gerne mit dem ganzen Krempel beliefern. :cool2: Fad' wird Dir dabei sicher nicht! :biggrin:
 
Danke,
ich werde mich da am Wochenende mal mit beschäftigen.

Sollte ich denn wegen des Gerätebezugs den Thread hier im S2-Bereich weiter nutzen oder lieber im Dev-Bereich einen Neuen aufmachen?
 
Hallo, das gibt es schon, nutzte ich auch ab und an. Gibt es im SGS2 FORUM.
HABE jetzt leider keine zeit melde mich heute Abend noch mal.


Gesendet von meinem GT-I9100 mit Tapatalk 2


So ist mit dem Remove-Tweak/Script]Apps-Deinstallations-Script für GB + ICS
https://www.android-hilfe.de/forum/...stallations-script-fuer-gb-ics-jb.186982.html

möglich.
Mache ich immer mit meinem Apex-Launcher einfach die zip öfnen und apk´s in den Ordner app schieben.
 
Zuletzt bearbeitet:
Guten Tag,

wäre jemand so nett und erklärt mir wie ich eine ZIP so erstellen kann, das meine lieblings Apps einfach über CWM installiert werden.

Titanium und co. nerven mich irgendwie nach ner heit ^^


vielen dank im voraus
 
Das würde mich auch mal Interessieren wie man cwm zips erstellt *.*

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
Und mich auch :o

Gesendet mit meinem SGS 3 Blue
 

Ähnliche Themen

2
Antworten
6
Aufrufe
225
24559
2
DerOhneNick
Antworten
3
Aufrufe
1.037
DerOhneNick
DerOhneNick
S
  • segler11
Antworten
0
Aufrufe
1.307
segler11
S
Zurück
Oben Unten