Passa manualmente da ART a Dalvik


21

Volevo provare il nuovo runtime ART, ma non mi rendevo conto che la mia ROM personalizzata non lo supporta. Quindi ora ricevo messaggi Force Closed ricorrenti dopo l'avvio e non riesco ad accedere al menu delle impostazioni per tornare a Dalvik. Quindi, prima di cancellare tutto e passare ore a configurare il mio telefono da zero, c'è un modo per tornare manualmente a Dalvik dal menu di ripristino? Penso che ci dovrebbe essere una bandiera da qualche parte, che indica ad Android di fare la 'ricompilazione' dopo un riavvio.

Tramite il menu di ripristino, ho pieno accesso root su una shell adb e posso montare tutti i filesystem.


Ho avuto un problema con ART su una ROM 4.4.4 di serie. Pochi giorni dopo il passaggio da Dalvik, ero bloccato in un ciclo di avvio con adb logcat che mostrava molti errori di arresto, tra cui `art / runtime / runtime.cc: 203] Interruzione del runtime ... Passando a Dalvik, ho dovuto riavviare in recovery e utilizzare il comando echo per tornare a dalvik. Ciò
risolse

Risposte:


18

L'ho appena fatto!

/data/property/persist.sys.dalvik.vm.libè un file di testo contenente uno di due valori: 'libart.so' o 'libdvm.so'. Puoi passare da ART a Dalvik semplicemente modificando questo file.

Es: shell adb 'echo libdvm.so> /data/property/persist.sys.dalvik.vm.lib'


5
FWIW, facendo "setprop persist.sys.dalvik.vm.lib libdvm.so" avrebbe lo stesso effetto: le proprietà "persist" vengono mantenute scrivendole in un file.
fadden,

Quando questo è successo a me, non avevo accesso alla shell adb mentre Android era in esecuzione. Tuttavia, sono stato in grado di riavviare ClockworkMod Recovery, cancellare la mia partizione cache e cache dalvik per liberare spazio di memoria flash, montare la mia partizione / dati e quindi (finalmente) utilizzare la shell adb come descritto in questa risposta. Meno male!
ʇsәɹoɈ

L'ho provato su Android 5.0.1 (Omega V28) sul mio Galaxy S4 GT-I9500. Il file è stato chiamato /data/property/persist.sys.dalvik.vm.lib.2nel mio caso. Dopo averlo riavviato in qualche modo è tornato a "libart.so". Qualche idea sul perché lo stia facendo e come cambiarlo permanentemente?
EM0,

Questo è accaduto anche quando ho modificato il contenuto del file tramite la shell adb nel recupero. Quindi non viene sovrascritto allo spegnimento, ma all'avvio, a quanto pare.
EM0,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.