ARTからDalvikに手動で切り替える


21

新しいARTランタイムを試してみたかったのですが、カスタムROMがそれをサポートしていないことに気付きませんでした。そのため、ブート後にForce Closedメッセージが繰り返し表示されるようになり、設定メニューにアクセスしてDalvikに戻ることができなくなりました。だから、すべてを拭いて何時間も電話をゼロからセットアップする前に、手動で回復メニューからDalvikに戻す方法はありますか?再起動後にAndroidに「再コンパイル」を行うように指示するフラグがどこかにあるはずです。

回復メニューを介して、adbシェルを介した完全なルートアクセス権があり、すべてのファイルシステムをマウントできます。


ストック4.4.4 ROMでARTに問題がありました。dalvikから切り替えて数日後、「art / runtime / runtime.cc:203」を含む多くのクラッシュエラーを表示するadb logcatでブートループに陥りました。リカバリに戻り、echoコマンドを使用してdalvikに切り替えます。これで問題は解決しました
スタンクルドジエル

回答:


18

私はこれをやった!

/data/property/persist.sys.dalvik.vm.lib「libart.so」または「libdvm.so」の2つの値のいずれかを含むテキストファイルです。このファイルを編集するだけで、ARTからDalvikに変更できます。

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


5
FWIW、「setprop persist.sys.dalvik.vm.lib libdvm.so」を実行しても同じ効果があります。「persist」プロパティはファイルに書き込むことで永続化されます。
退色14

これが起こったとき、Androidの実行中にadbシェルにアクセスできませんでした。ただし、ClockworkMod Recoveryを再起動し、キャッシュパーティションとdalvikキャッシュをクリアしてフラッシュストレージスペースを解放し、/ dataパーティションをマウントしてから、(最終的に)この回答に記載されているようにadbシェルを使用できました。ふう!
ʇsәɹoɈ

Galaxy S4 GT-I9500のAndroid 5.0.1(Omega V28)でこれを試しました。/data/property/persist.sys.dalvik.vm.lib.2私の場合、ファイルは呼び出されました。再起動後、何らかの形で「libart.so」に戻りました。なぜそれをしているのか、それを永久に変更する方法はありますか?
EM0

これは、回復中にadbシェル経由でファイルの内容を変更した場合でも発生しました。そのため、シャットダウン時に上書きされることはありませんが、起動時にはそうです。
EM0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.