Beralih secara manual dari ART ke Dalvik

21

Saya ingin mencoba runtime ART baru, tetapi tidak menyadari ROM kustom saya tidak mendukungnya. Jadi sekarang saya mendapatkan pesan Force Closed berulang setelah boot, dan tidak bisa masuk ke menu pengaturan untuk beralih kembali ke Dalvik. Jadi sebelum saya menghapus semuanya dan menghabiskan berjam-jam mengatur ponsel saya dari awal, apakah ada cara untuk secara manual kembali ke Dalvik dari menu pemulihan? Saya pikir harus ada bendera di suatu tempat, yang menginstruksikan Android untuk melakukan 'kompilasi ulang' setelah reboot.

Melalui menu pemulihan, saya memiliki akses root penuh ke shell adb dan dapat me-mount semua sistem file.

David B.
sumber
Saya punya masalah dengan ART pada stok 4.4.4 ROM. Beberapa hari setelah beralih dari dalvik, saya terjebak dalam loop boot dengan adb logcat yang menunjukkan banyak kesalahan crash termasuk `art / runtime / runtime.cc: 203] Runtime dibatalkan ... Beralih kembali ke dalvik, saya harus reboot dalam pemulihan dan gunakan perintah gema untuk beralih kembali ke Dalvik. Itu memperbaiki masalah
Stan Kurdziel

Jawaban:

18

Saya baru saja melakukan ini!

/data/property/persist.sys.dalvik.vm.libadalah file teks yang mengandung salah satu dari dua nilai: 'libart.so' atau 'libdvm.so'. Anda dapat mengubah dari ART ke Dalvik hanya dengan mengedit file ini.

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

lama misterius
sumber
5
FWIW, melakukan "setprop persist.sys.dalvik.vm.lib libdvm.so" akan memiliki efek yang sama - properti "persist" bertahan dengan menulisnya ke file.
fadden
Ketika ini terjadi pada saya, saya tidak memiliki akses shell adb saat Android berjalan. Namun, saya dapat melakukan reboot ke ClockworkMod Recovery, membersihkan partisi cache dan cache dalvik saya untuk membebaskan beberapa ruang penyimpanan flash, me-mount partisi / data saya, dan kemudian (akhirnya) menggunakan adb shell seperti dijelaskan dalam jawaban ini. Wah!
әɹsәɹoɈ
Saya mencoba ini di Android 5.0.1 (Omega V28) pada Galaxy S4 GT-I9500 saya. File itu dipanggil /data/property/persist.sys.dalvik.vm.lib.2dalam kasus saya. Setelah me-reboot-nya, entah bagaimana dikembalikan ke "libart.so". Adakah yang tahu mengapa ia melakukan itu dan bagaimana mengubahnya secara permanen?
EM0
Ini terjadi bahkan ketika saya mengubah konten file melalui adb shell dalam pemulihan. Jadi tidak ditimpa saat shutdown, tapi saat boot, sepertinya.
EM0