CWM Zip mit lieblings apk/apps erstellen?

Dieses Thema im Forum "Android OS Entwicklung / Customize" wurde erstellt von rainbowsixpro1, 20.06.2011.

  1. #1 rainbowsixpro1, 20.06.2011
    Zuletzt bearbeitet: 22.06.2011
    rainbowsixpro1

    rainbowsixpro1 Threadstarter Android-Hilfe.de Mitglied

    Registriert seit:
    22.05.2011
    Beiträge:
    113
    Erhaltene Danke:
    27
    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?
     
  2. #2 Nexus S, 20.12.2011
    Nexus S

    Nexus S Android-Lexikon

    Registriert seit:
    02.01.2011
    Beiträge:
    957
    Erhaltene Danke:
    203
    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 (Text):

    [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 (Text):

    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
     
  3. #3 marcel2909, 07.01.2012
    marcel2909

    marcel2909 Android-Guru

    Registriert seit:
    23.03.2011
    Beiträge:
    2,054
    Erhaltene Danke:
    3,276
    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
     
  4. #4 scheichuwe, 07.01.2012
    scheichuwe

    scheichuwe Android-Ikone

    Registriert seit:
    09.09.2009
    Beiträge:
    5,428
    Erhaltene Danke:
    2,543
    Phone:
    LG G4
  5. #5 Heiko12627, 16.06.2012
    Heiko12627

    Heiko12627 Fortgeschrittenes Mitglied

    Registriert seit:
    05.04.2011
    Beiträge:
    321
    Erhaltene Danke:
    9
    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.
     
    Lord Gundolf und atamiga bedanken sich.
  6. #6 atamiga, 16.06.2012
    atamiga

    atamiga Android-Guru

    Registriert seit:
    14.08.2011
    Beiträge:
    2,028
    Erhaltene Danke:
    193
    Phone:
    Sony Xperia Z
    Tablet:
    Sony Xperia Tablet Z2
    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?
     
  7. #7 Kai44137, 25.06.2012
    Kai44137

    Kai44137 Android-Experte

    Registriert seit:
    05.09.2011
    Beiträge:
    705
    Erhaltene Danke:
    139
    Phone:
    Samsung Galaxy S6 Edge
    Tablet:
    Medion Lifetab S7852
    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:
     
  8. #8 DevMark, 25.06.2012
    DevMark

    DevMark Ehrenmitglied

    Registriert seit:
    21.05.2011
    Beiträge:
    4,292
    Erhaltene Danke:
    2,206
    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
     
    Kai44137 bedankt sich.
  9. #9 email.filtering, 25.06.2012
    email.filtering

    email.filtering Gast

    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.
     
    Kai44137 bedankt sich.
  10. #10 Kai44137, 25.06.2012
    Kai44137

    Kai44137 Android-Experte

    Registriert seit:
    05.09.2011
    Beiträge:
    705
    Erhaltene Danke:
    139
    Phone:
    Samsung Galaxy S6 Edge
    Tablet:
    Medion Lifetab S7852
    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...
     
  11. #11 email.filtering, 25.06.2012
    email.filtering

    email.filtering Gast

    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:
     
  12. #12 Kai44137, 27.06.2012
    Kai44137

    Kai44137 Android-Experte

    Registriert seit:
    05.09.2011
    Beiträge:
    705
    Erhaltene Danke:
    139
    Phone:
    Samsung Galaxy S6 Edge
    Tablet:
    Medion Lifetab S7852
    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?
     
  13. #13 michihelli, 27.06.2012
    Zuletzt bearbeitet: 27.06.2012
    michihelli

    michihelli Android-Hilfe.de Mitglied

    Registriert seit:
    06.05.2010
    Beiträge:
    97
    Erhaltene Danke:
    5
    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
    http://www.android-hilfe.de/custom-...-apps-deinstallations-script-fuer-gb-ics.html

    möglich.
    Mache ich immer mit meinem Apex-Launcher einfach die zip öfnen und apk´s in den Ordner app schieben.
     
  14. #14 Booma69, 03.08.2012
    Booma69

    Booma69 Fortgeschrittenes Mitglied

    Registriert seit:
    02.04.2012
    Beiträge:
    321
    Erhaltene Danke:
    38
    Kai44137 und marc132 bedanken sich.
  15. #15 Baci Ton, 16.08.2012
    Baci Ton

    Baci Ton Neuer Benutzer

    Registriert seit:
    10.08.2012
    Beiträge:
    20
    Erhaltene Danke:
    1
    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
     
  16. #16 lexii89, 16.08.2012
    lexii89

    lexii89 Android-Hilfe.de Mitglied

    Registriert seit:
    18.03.2012
    Beiträge:
    86
    Erhaltene Danke:
    20
    Das würde mich auch mal Interessieren wie man cwm zips erstellt *.*

    Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
     
  17. #17 Holdri, 16.08.2012
    Holdri

    Holdri Fortgeschrittenes Mitglied

    Registriert seit:
    29.12.2011
    Beiträge:
    428
    Erhaltene Danke:
    44
    Und mich auch :o

    Gesendet mit meinem SGS 3 Blue
     
  18. #18 Androider :-), 16.08.2012
    Androider :-)

    Androider :-) Fortgeschrittenes Mitglied

    Registriert seit:
    23.10.2011
    Beiträge:
    448
    Erhaltene Danke:
    98
    Phone:
    Samsung Galaxy S6 Edge
  19. #19 Android-FanX79, 17.08.2012
    Android-FanX79

    Android-FanX79 Android-Guru

    Registriert seit:
    12.06.2011
    Beiträge:
    3,238
    Erhaltene Danke:
    2,327

Diese Seite empfehlen

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android was bringt zip erstellen