我想尝试新的ART运行时,但是没有意识到我的自定义ROM不支持它。因此,现在启动后我会收到重复的“强制关闭”消息,并且无法进入设置菜单以切换回Dalvik。因此,在擦除所有内容并花费数小时从头开始设置手机之前,是否有办法从恢复菜单手动更改回Dalvik?我认为应该在某处有一个标志,指示Android在重新启动后执行“重新编译”。

通过恢复菜单,我可以通过adb shell进行完全root访问,并且可以安装所有文件系统。

评论

我在库存4.4.4 ROM上的ART有问题。从dalvik切换几天后,我陷入了adb logcat的引导循环,显示了很多崩溃错误,包括`art / runtime / runtime.cc:203]运行时中止...切换回dalvik,我不得不重新启动恢复,并使用echo命令切换回dalvik。解决了问题

#1 楼

我就是这样做的!

/data/property/persist.sys.dalvik.vm.lib是一个文本文件,其中包含以下两个值之一:'libart.so'或'libdvm.so'。您只需编辑此文件即可从ART更改为Dalvik。

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

评论


FWIW,执行“ setproppersist.sys.dalvik.vm.lib libdvm.so”将具有相同的效果-通过将“ persist”属性写入文件来保留它们。

–淡淡
14年4月11日在18:28

当这发生在我身上时,我在运行Android时无法访问adb shell。但是,我能够重新启动到ClockworkMod Recovery,清除我的缓存分区和dalvik缓存以释放一些闪存存储空间,挂载我的/ data分区,然后按此答案所述(最终)使用adb shell。 ew!

–ʇsәɹoɈ
2015年1月7日在9:45



我在Galaxy S4 GT-I9500的Android 5.0.1(Omega V28)上尝试了此操作。在我的情况下,该文件名为/data/property/persist.sys.dalvik.vm.lib.2。重新启动后,它以某种方式恢复为“ libart.so”。知道为什么这样做以及如何永久更改吗?

–EM0
17年10月10日在13:33

即使在恢复中通过adb shell更改了文件内容时,也会发生这种情况。因此,它似乎不会在关机时被覆盖,而是在启动时被覆盖。

–EM0
17年10月10日在14:07