Ręcznie przełącz z ART na Dalvik

21

Chciałem wypróbować nowy środowisko uruchomieniowe ART, ale nie zdawałem sobie sprawy, że mój niestandardowy ROM nie obsługuje go. Więc teraz dostaję powtarzające się komunikaty Force Closed po uruchomieniu i nie mogę przejść do menu ustawień, aby wrócić do Dalvik. Więc zanim wyczyszczę wszystko i spędzę godziny konfigurując telefon od zera, czy istnieje sposób ręcznej zmiany z powrotem na Dalvik z menu odzyskiwania? Myślę, że powinna być gdzieś flaga, która instruuje Androida, aby wykonał „rekompilację” po ponownym uruchomieniu.

Poprzez menu odzyskiwania mam pełny dostęp do roota za pomocą powłoki adb i mogę montować wszystkie systemy plików.

David B.
źródło
Miałem problem z ART na magazynie 4.4.4 ROM. Kilka dni po przejściu z Dalvik utknąłem w pętli rozruchowej z adb logcat pokazującym wiele błędów awarii, w tym `art / runtime / runtime.cc: 203] Runtime przerywało ... Przechodząc z powrotem do Dalvik, musiałem zrestartować komputer do odzyskiwania i użyj polecenia echo, aby przełączyć z powrotem na Dalvik. To rozwiązało problem
Stan Kurdziel

Odpowiedzi:

18

Właśnie to zrobiłem!

/data/property/persist.sys.dalvik.vm.libto plik tekstowy zawierający jedną z dwóch wartości: „libart.so” lub „libdvm.so”. Możesz zmienić ART z Dalvik po prostu edytując ten plik.

Przykład: powłoka adb „echo libdvm.so> /data/property/persist.sys.dalvik.vm.lib”

mysteriousllama
źródło
5
FWIW, wykonanie polecenia „setprop persist.sys.dalvik.vm.lib libdvm.so” miałoby ten sam efekt - właściwości „persist” są utrwalane przez zapisanie ich do pliku.
fadden
Kiedy mi się to przydarzyło, nie miałem dostępu do powłoki adb podczas działania Androida. Byłem jednak w stanie zrestartować się do ClockworkMod Recovery, wyczyścić moją partycję pamięci podręcznej i dalvik cache, aby zwolnić trochę miejsca w pamięci flash, zamontować moją partycję / dane, a następnie (w końcu) użyć powłoki adb, jak opisano w tej odpowiedzi. Uff!
ʇsәɹoɈ
Próbowałem tego na Androidzie 5.0.1 (Omega V28) na moim Galaxy S4 GT-I9500. Plik został wywołany /data/property/persist.sys.dalvik.vm.lib.2w moim przypadku. Po ponownym uruchomieniu w jakiś sposób powrócił do „libart.so”. Wiesz, dlaczego to robi i jak to zmienić na stałe?
EM0
Stało się tak nawet wtedy, gdy zmieniłem zawartość pliku za pomocą powłoki adb podczas odzyskiwania. Wygląda na to, że nie jest zastępowany przy wyłączaniu, ale przy rozruchu.
EM0,