1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Wie ADB commands durch Script automatisieren

Dieses Thema im Forum "Root / Hacking / Modding für HTC Desire" wurde erstellt von sonoftobit, 06.05.2011.

  1. sonoftobit, 06.05.2011 #1
    sonoftobit

    sonoftobit Threadstarter Junior Mitglied

    Beiträge:
    29
    Erhaltene Danke:
    2
    Registriert seit:
    10.12.2010
    Phone:
    HTC Desire
    Wenn ich ein neues Update für CM flashe, lösche ich erst die ungewollten Apps aus der .zip Datei und muss danach umständlichen mit ADB rumhantieren.

    Wie kann ich ein Script basteln (sodass ich nur noch eine zusätzliche .zip Datei flashen muss beim aktualisieren) das mir die folgenden ADB commands automatisch ausführt:

    "adb shell

    mount /system
    mount /data

    mv /system/etc/hosts /system/etc/hosts.bak
    mv /system/media/bootanimation.zip /system/media/bootanimation.bak
    ln -s /data/data/hosts /system/etc/hosts
    ln -s /data/data/bootanimation.zip /system/media/bootanimation.zip

    exit"

    Danke!
     
  2. Thyrion, 06.05.2011 #2
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Jetzt mal unabhängig von einer flashbaren ZIP-Datei, kannst du dir einfach ein solches Skript anlegen und einfach starten:
    Code:
    adb shell mount /system
    adb shell mount /data
    
    adb shell mv /system/etc/hosts /system/etc/hosts.bak
    adb shell mv /system/media/bootanimation.zip /system/media/bootanimation.bak
    adb shell ln -s /data/data/hosts /system/etc/hosts
    adb shell ln -s /data/data/bootanimation.zip /system/media/bootanimation.zip
    Wie das ganze als flashbares ZIP aussehen müsste, kann ich heute Nachmittag mal erbasteln. Das Problem mit dem sym. Link der Hosts-Datei habe ich auch jedesmal. Hab da schon was probiert, aber das klappte irgendwie nicht so wie ich wollte.


    EDIT: Evtl. musst du die einzelnen adb-Befehle (unter Win soweit ich weiß auf jeden Fall) auch in Anführungszeichen fassen, also
    Code:
    adb shell "mount /system"
    adb shell "mount /data"
    
    adb shell "mv /system/etc/hosts /system/etc/hosts.bak"
    adb shell "mv /system/media/bootanimation.zip  /system/media/bootanimation.bak"
    adb shell "ln -s /data/data/hosts /system/etc/hosts"
    adb shell "ln -s /data/data/bootanimation.zip  /system/media/bootanimation.zip"
     
    sonoftobit bedankt sich.
  3. Thyrion, 07.05.2011 #3
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Also ich habe zwar eine flashbare ZIP hinbekommen (auch signiert), die auch ohne Fehlermeldung alle Befehle abarbeitet. Aber das was sie machen soll, klappt noch nicht. Bin daher erstmal wieder zur "manuellen Methode" zurück, aber ich versuch's weiter.
     
  4. sonoftobit, 07.05.2011 #4
    sonoftobit

    sonoftobit Threadstarter Junior Mitglied

    Beiträge:
    29
    Erhaltene Danke:
    2
    Registriert seit:
    10.12.2010
    Phone:
    HTC Desire
    Vorab vielen Dank für deine Hilfe!

    Konnte mich selbst leider kaum weiter damit beschäftigen. Habe dummerweise noch paar andere Dinge, um die ich mich momentan kümmern muss.

    Ich fand aber deine Idee eines cmd scripts gut und habe das mal probiert. Sieht bei mir so aus (Datei heißt "fix_links.cmd"):
    "cd c:\adb

    adb shell "mount /system"
    adb shell "mount /data"

    adb shell "mv /system/etc/hosts /system/etc/hosts.bak"
    adb shell "mv /system/media/bootanimation.zip /system/media/bootanimation.bak"
    adb shell "ln -s /data/data/hosts /system/etc/hosts"
    adb shell "ln -s /data/data/bootanimation.zip /system/media/bootanimation.zip"

    taskkill /F /IM adb.exe

    pause"

    Läuft fehlerlos durch... aber die symlinks erzeugt er einfach nicht. Dateien pushen etc. geht aber ohne Probleme.
    Woran kann das liegen?
     
  5. Thyrion, 07.05.2011 #5
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Du brauchst keinen Taskkill.

    adb kill-server macht das für dich ;)

    Es kann sein, dass er die Links nur erstellt, wenn auch die Dateien bei /data/data/hosts und /data/data/bootanimation.zip vorhanden sind. Aber das müsste Fehlermeldungen erzeugen.
    Aber wenn du die nie löschst (außer bei Wipes), sollten die ja da sein - oder eben vorher noch pushen.
     
  6. sonoftobit, 07.05.2011 #6
    sonoftobit

    sonoftobit Threadstarter Junior Mitglied

    Beiträge:
    29
    Erhaltene Danke:
    2
    Registriert seit:
    10.12.2010
    Phone:
    HTC Desire
    Wieder etwas gelernt. :)

    Die Dateien sind auf jeden Fall vorhanden. Fehlermeldungen gibt's auch keine.
     
  7. Thyrion, 07.05.2011 #7
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Laß mal die Anführungszeichen bei den Befehlen weg.
     

Diese Seite empfehlen