Wechseln Sie manuell von ART zu Dalvik

21

Ich wollte die neue ART-Laufzeit ausprobieren, merkte aber nicht, dass mein benutzerdefiniertes ROM dies nicht unterstützt. Daher erhalte ich nach dem Booten immer wieder Force Closed-Meldungen und kann nicht mehr zum Einstellungsmenü wechseln, um zu Dalvik zurückzukehren. Gibt es eine Möglichkeit, manuell vom Wiederherstellungsmenü zu Dalvik zurückzukehren, bevor ich alles bereinige und Stunden damit verbringe, mein Telefon von Grund auf neu einzurichten? Ich denke, irgendwo sollte es ein Flag geben, das Android anweist, nach einem Neustart das 'Neukompilieren' durchzuführen.

Über das Wiederherstellungsmenü habe ich vollen Root-Zugriff über eine AdB-Shell und kann alle Dateisysteme mounten.

David B.
quelle
Ich hatte ein Problem mit ART auf einem 4.4.4 ROM. Einige Tage nach dem Umstieg von Dalvik steckte ich in einer Boot-Schleife fest, in der adb logcat viele Absturzfehler aufwies, darunter `art / runtime / runtime.cc: 203] Laufzeitabbruch ... Nachdem ich wieder zu Dalvik gewechselt hatte, musste ich einen Neustart durchführen Starten Sie die Wiederherstellung und verwenden Sie den Befehl echo, um zu Dalvik zurückzukehren. Das hat das Problem behoben
Stan Kurdziel

Antworten:

18

Ich habe das gerade gemacht!

/data/property/persist.sys.dalvik.vm.libist eine Textdatei mit einem von zwei Werten: 'libart.so' oder 'libdvm.so'. Sie können von ART zu Dalvik wechseln, indem Sie diese Datei bearbeiten.

Beispiel: adb-Shell 'echo libdvm.so> /data/property/persist.sys.dalvik.vm.lib'

mysteriöses Lama
quelle
5
Wenn Sie "setprop persist.sys.dalvik.vm.lib libdvm.so" ausführen, hat dies den gleichen Effekt: Die "persist" -Eigenschaften werden beibehalten, indem sie in eine Datei geschrieben werden.
Fadden
Als mir das passierte, hatte ich keinen Zugriff auf die AdB-Shell, während Android lief. Es war mir jedoch möglich, ClockworkMod Recovery neu zu starten, meine Cache-Partition und den Dalvik-Cache zu leeren, um Flash-Speicherplatz freizugeben, meine / data-Partition bereitzustellen und dann (endlich) die in dieser Antwort beschriebene adb-Shell zu verwenden. Wütend!
Samstag,
Ich habe dies auf Android 5.0.1 (Omega V28) auf meinem Galaxy S4 GT-I9500 versucht. Die Datei wurde /data/property/persist.sys.dalvik.vm.lib.2in meinem Fall aufgerufen . Nach dem Neustart kehrte es irgendwie zu "libart.so" zurück. Irgendeine Idee, warum das so ist und wie man es dauerhaft ändert?
EM0
Dies geschah sogar, als ich den Dateiinhalt über die AdB-Shell in der Wiederherstellung änderte. Es wird also nicht beim Herunterfahren überschrieben, sondern beim Booten.
EM0