dalvikキャッシュの場所をシンボリックリンクなどで変更できますか?


9

私は現在、Link2SDを使用しています。私の携帯電話のオンボードストレージは、いくつかの必須アプリ以上には不十分です。それは非常に効果的ですが、電話がオンになっているときに限られます。

ROMの変更中にdalvikキャッシュが消去され、電話が再起動すると、Androidがアプリケーションを最適化していることを示す進行状況バーが表示されます。したがって、妥当な数のアプリケーションが与えられた場合、dalvikキャッシュは、link2sdがそれについて何かできるようになるずっと前にストレージをいっぱいにします。

それで、システムが起動してビジネスを始める前に、適切なキャッシュの場所としてsdカードフォルダーをマウントする方法はありますか?シンボリックリンクを作成する必要があることはわかっていますが、マウントのタイミングと順序はわかりません。

回答:


2

もちろんできます。dalvik-cacheを通常のSDカードファイルシステム(最も一般的なvfat)に移行しても問題はないようですが、/dataすべてが機能するようにSDカードをext4(またはと同じ)にフォーマットすることを強くお勧めします大丈夫。

じゃ、行こう。続行する前に、すべてのアプリの完全バックアップをお勧めしますが、運が良ければ、必須ではありません。あなたが必要な仕事をするためのターミナルエミュレータを持っていると仮定します。

最初に、dalvikキャッシュの移行先のフォルダーを作成します。次にchmodchown一致する新しいフォルダ/data/dalvik-cacheSELinux対応のAndroid OSを実行している場合は、それに応じてセキュリティコンテキストを変更することを忘れないでください。走る

ls -dlZ /data/dalvik-cache
ls -lZ /data/dalvik-cache

dalvik-cacheフォルダーの元の権限、所有者/グループ、およびセキュリティコンテキストを確認します。

次に、からすべてのファイルを/data/dalvik-cache新しい場所にコピーします/storage/sdcard1/dalvik-cachecp -aコマンドを使用してファイルの属性を保持できます。これにより、処理が簡単になります。

次のステップのプロセス中に新しいアプリが起動しないことを確認します。

次に、次rm -r /data/dalvik-cacheを使用して新しい場所へのシンボリックリンクを作成します。

ln -s /storage/sdcard1/dalvik-cache /data/dalvik-cache

それで全部です。終わったね。スマートフォンを再起動します(必須ではありませんが推奨されます)。

このプロセスに関するいくつかの注意:

  1. Androidは高度に変更されたLinuxカーネルに基づいているため、busyboxは常に適切に機能するとは限りません。たとえば、ほとんどすべてのSELinux関連の機能は適切に動作しません。以下のようにテストできます。

    toolbox ls -Z /data
    busybox ls -Z /data
    toolbox getenforce
    busybox getenforce
    

    ただし、Androidのバージョンによっては、これらが正しく機能する場合があります。

    busybox chcon <context> <files...>
    busybox runcon <context <program> [args...]
    
  2. SDカードを取り外さないでください。SDカードを再フォーマットする場合は、まだext4であることを確認し、電話を初めて起動する前に dalvik-cacheフォルダーを作成してください。


1年後にもう一度見たとき、私はこの包括的な答えをどのように書いたかまったくわかりませんでした。私はAndroidについて多くを忘れてしまったと思います(もちろん、それは不可能です)。
iBug 2018年

1

あなたの問題を解決するのに役立つかもしれないいくつかの素晴らしいハウツーが利用可能です:

いくつかのフォーラムスレッドによると、DalvikキャッシュをSDカードに移動するには、A2SDGUI-Darktremor A2SD GUIを選択する必要があります。


1
リンクからの情報を投稿に追加できたらいいと思います
Flow

それは私の答えと統合するには少し多すぎるものです-それが私が基本的なヒント、つまり作業を行うアプリだけを抽出した理由です。
イジー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.