Dalvik-Cache ohne Root löschen?

Ich habe kürzlich versucht, mein Motorola Atrix 4g zu aktualisieren. Es wurde heruntergeladen und dann heruntergefahren, um zu versuchen, ein Update durchzuführen. Anstatt zu aktualisieren, bootet es jedoch zu einem Bildschirm, der nur sagt

Failed to boot 2
Starting RSD mode

Wenn ich den Akku herausnehme, starte ich das Telefon für etwa 60 Sekunden, bevor es wieder herunterfährt.

Das Telefon ist gerootet und es scheint, als würde es herunterfahren, sobald Android anfängt, Root-Rechte zu vergeben.

Beim Durchsuchen verschiedener Online-Foren scheint es, als ob die beste Lösung, um zu verhindern, dass das Telefon versucht, ein Update durchzuführen (ohne alle meine Daten zu löschen, indem das Telefon auf die Werkseinstellungen zurückgesetzt wird), darin besteht, den Dalvik-Cache zu löschen.

Das Problem, das ich bisher habe, ist, dass ich anscheinend root brauche, um den Cache zu löschen, aber sobald mein Telefon lange genug eingeschaltet war, um root auszugeben, startet es neu und ich kann nichts tun damit. Um das Problem noch schlimmer zu machen, scheine ich nicht in der Lage zu sein, in die Wiederherstellung zu booten ...

Gibt es eine Möglichkeit, den Dalvik-Cache (sehr, sehr schnell und) ohne Root (oder Wiederherstellung) zu löschen?

Antworten (5)

Ich habe es endlich herausgefunden, hier ist, wie ich es gemacht habe:

Obwohl adb nicht root werden kann und das Telefon selbst nicht root werden kann, gibt es tatsächlich eine weitere Möglichkeit, den Cache zu löschen, ohne das Telefon vollständig zu booten.

  • Schalten Sie das Telefon aus
  • Stellen Sie sicher, dass Fastboot auf Ihrem Computer funktioniert
  • Drücken Sie die Ein-/Aus-Taste am Telefon und halten Sie dann die Leiser-Taste gedrückt, bis Sie sehen fastboot, und drücken Sie dann die Lauter-Taste.
  • Öffnen Sie ein Terminalfenster und geben Sie Folgendes ein

    sudo su
    fastboot erase cache
    

Und (scheinbar) voilà! Der Cache ist geleert!!

Ja, /cacheist gelöscht. Aber nicht /data/dalvik-cache. Zitieren von rootzwiki : ist fastboot erasesehr einfach: Es löscht die angegebene Partition. Beispiel: fastboot erase cachelöscht den Inhalt der /cachePartition. Um es noch einmal zu sagen: Das ist der App-Cache und nicht der Dalvik-Cache.
@Izzy Hat Fastboot einen bestimmten Befehl zum Löschen des Dalvic/ART-Cache? Ohne TWRP zu verwenden?
@Shayan meines Wissens nicht.

Das ist unwahrscheinlich. Der Dalvik-Cache wird in gespeichert /data/dalvik-cache, und das Ausführen ls -l /datavon (als root) zeigt:

drwxrwx--x system   system            2013-03-29 14:54 dalvik-cache

Wie Sie sehen können, gehört es dem Benutzer systemder Gruppe system, und alle anderen Benutzer haben nur die Berechtigung "Ausführen" (dh sie dürfen nur in dieses Verzeichnis wechseln). Graben Sie ein wenig tiefer mit ls -l /data/dalvik-cacheShows, z.

-rw-r--r-- system   app_17    6416640 2013-03-02 00:28 data@app@com.google.android.apps.maps-1.apk@classes.dex

Alle Dateien darin gehören wieder system, der wiederum der einzige Benutzer mit Schreibrechten ist (dh auch der einzige, der Dateien löschen kann). .dexDie jeder Datei entsprechende App wird als Gruppe dargestellt; hat aber wie alle "anderen" Benutzer nur Leserechte.

Fazit: Hier kann nur rootgelöscht werden -- sei es aus einer normalen Shell oder über eine benutzerdefinierte Wiederherstellung wie zB ClockworkMod. Oder natürlich per ...


Eine Sache, die Sie jedoch versuchen könnten, ist das Booten im . Wenn eine Benutzer-App die Probleme verursacht, sollte das Gerät problemlos hochfahren (da alle Benutzer-Apps im abgesicherten Modus übersprungen werden). Ein zweiter Vorschlag ist, Ihr Gerät über USB anzuschließen und zu versuchen, ein Logcat (über adb logcat) zu erfassen, um weitere Hinweise darauf zu erhalten, was die Probleme verursachen könnte. Dazu müsste natürlich USB Debugging aktiviert sein. Falls es noch nicht aktiviert war, können Sie dies möglicherweise im abgesicherten Modus tun (ich bin mir nicht sicher, da ich es noch nie versucht habe).

Mach das:

sdk/platform-tools/adb-shell

 shell@android:/ $ su system                  # switch from user "root" to "system"
 system@android:/ $ cd data/dalvik-cache/
 system@android:/data/dalvik-cache $ rm *
 system@android:/data/dalvik-cache $ exit
 shell@android:/data $ exit

und starten Sie Ihr Telefon neu.

Zur Erinnerung: Führen Sie sofort einen Neustart durch.
Sind Sie sicher, welches „su-System“ ohne Root funktioniert?
Ohne root geht das nicht , weil man die su-Binärdatei nicht hat..

Backups machen.

Wenn Sie Fuel haben, das jetzt funktioniert, installieren Sie:

  1. Jetzt auffällig

  2. Installieren Sie eine erweiterte Wiederherstellung wie TWRP (kraftstoffspezifisch ) . Dann können Sie die Wiederherstellung nur von einem funktionierenden System aus ausführen (es funktioniert noch keine Tastenkombination, gelangen Sie über Flashy-Dialoge dorthin, um die TWRP-Wiederherstellung zu starten).

  3. Einmal in der Wiederherstellung, dann kann Ihr Computer endlich ADB ausführen (endlich Shell bekommen, ich habe es auf einem anderen Fuel getestet) und hoffentlich werden Sie von dort aus nicht gesperrt (wie ich) und können den Bootloader entsperren.

    Denn wenn Sie dies nicht tun, ersetzen Sie Ihr Telefon, falls es durchgeknallt sein sollte. LG meinte bei mir (wiederholt gestoppte Prozesse, keine Nutzung des Telefons) nur durch regelmäßige Autoupdates! Es wurde kein Zugriff auf die Einstellungen vorgenommen .

Wie ist das eine Antwort? Es tut mir leid, aber dies muss aus mehreren Gründen gemeldet werden.
Hi! Dies ist kein Forum, also beantworten Sie bitte nur das, was gestellt wurde, wenn Sie versuchen, eine Frage zu beantworten . Ich habe einige Informationen aus Ihrer Antwort entfernt, weil ich sie hier für unnötig hielt. Versuchen Sie jedoch, in einer geordneten Weise zu schreiben. Verwenden Sie keine Abkürzungen oder Kurzformen für irgendetwas. Lesen Sie den Formatierungsleitfaden, um Ihre Antwort besser zu strukturieren. Und schließlich, bitte machen Sie weiter mit der guten Arbeit, hier zu antworten. :) // Es ist eine andere Sache, dass ich nicht überprüft habe, ob Ihr Beitrag überhaupt eine Antwort auf die Frage ist oder nicht.

Sie brauchen nicht einmal root, um den Dalvik-Cache zu leeren. Sie können dies mit der Bestandswiederherstellung tun. Schalten Sie das Telefon aus und starten Sie die Wiederherstellung (ich weiß nicht, wie die Tastenkombination für die Atrix lautet, also müssen Sie sie nachschlagen, da die Tastenkombination von Telefon zu Telefon unterschiedlich ist) und suchen Sie nach einer Option dafür sagt so etwas wie "Dalvik-Cache löschen", drücken Sie die Lautstärke, um es hervorzuheben, und drücken Sie die Stromversorgung, um es auszuwählen, und warten Sie, bis es hochfährt, was wahrscheinlich viel länger als gewöhnlich dauern wird, was normal ist. Lassen Sie es eine Weile sitzen, während es Ihre Liste von Apps neu erstellt. Ich weiß nicht, dass das anders sein könnte, da es verwurzelt ist. Ich habe gehört, dass der Dalvik-Ordner mehr als 3 GB groß ist.