Mudar manualmente de ART para Dalvik

21

Eu queria experimentar o novo tempo de execução ART, mas não percebi que minha ROM personalizada não suporta. Portanto, agora estou recebendo mensagens recorrentes do Force Closed após a inicialização e não consigo acessar o menu de configurações para voltar ao Dalvik. Portanto, antes de limpar tudo e passar horas configurando meu telefone do zero, há uma maneira de voltar manualmente para Dalvik no menu de recuperação? Acho que deveria haver uma bandeira em algum lugar, que instrua o Android a fazer a 'recompilação' após uma reinicialização.

Através do menu de recuperação, tenho acesso root completo em um shell adb e posso montar todos os sistemas de arquivos.

David B.
fonte
Eu tive um problema com o ART em uma ROM 4.4.4. Alguns dias após a mudança do dalvik, eu estava preso em um loop de inicialização com o adb logcat mostrando muitos erros de falha, incluindo `art / runtime / runtime.cc: 203] Interrupção do tempo de execução ... Voltando ao dalvik, tive que reiniciar em recuperação e use o comando echo para retornar ao dalvik. Isso resolveu o problema
Stan Kurdziel

Respostas:

18

Acabei de fazer isso!

/data/property/persist.sys.dalvik.vm.libé um arquivo de texto que contém um dos dois valores: 'libart.so' ou 'libdvm.so'. Você pode mudar de ART para Dalvik simplesmente editando este arquivo.

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

mysteriousllama
fonte
5
FWIW, executar "setprop persist.sys.dalvik.vm.lib libdvm.so" teria o mesmo efeito - as propriedades "persistir" serão persistentes gravando-as em um arquivo.
Fadden
Quando isso aconteceu comigo, eu não tinha acesso ao shell adb enquanto o Android estava em execução. No entanto, consegui reiniciar o ClockworkMod Recovery, limpar minha partição de cache e o dalvik cache para liberar algum espaço de armazenamento em flash, montar minha partição / data e (finalmente) usar o shell adb conforme descrito nesta resposta. Ufa!
ʇsәɹoɈ
Eu tentei isso no Android 5.0.1 (Omega V28) no meu Galaxy S4 GT-I9500. O arquivo foi chamado /data/property/persist.sys.dalvik.vm.lib.2no meu caso. Após a reinicialização, de alguma forma, reverteu para "libart.so". Alguma idéia de por que está fazendo isso e como alterá-lo permanentemente?
EM0
Isso aconteceu mesmo quando alterei o conteúdo do arquivo via adb shell em recuperação. Portanto, não é sobrescrito no desligamento, mas na inicialização, ao que parece.
EM0