ホーム > smart phone > F-03D dalvik-cache を移動して容量を空ける【長文注意】

F-03D dalvik-cache を移動して容量を空ける【長文注意】

(枕の話)
データ通信と通話でSIMをわけて使う二台持ちに移行して半年が過ぎた。
データSIMはiijmio、サービスも対応も向上して不満なし。
通話用端末には防水ガラケーSH-11Cを購入したが、主にWiFi環境に居るためF-03Dに通話SIMを入れ日常的にはこれを通話機(兼WiFiデータ機)にしている。もともとセルスタンバイにならない(欠陥w?)機種であるが、通話SIM入れておけばその心配すらない。
通話用にスマホを使えばセルスタンバイのことは気にする必要が無くなるので、WiFiメインな自分のような人にはむしろお勧め。

一時rootしたF-03Dもシステムアプリや不要アプリを削除したところで元が少ない(260MB)ので空き容量はいつも少ない。
アプリもSDカードに移せば良いというわけでもなく、実行コードファイル Dex はその少ない領域 /data/dalvik-cahe/ に置かれる。apkファイル本体がどこに置かれようと Dexファイルはこの場所を食ってしまう。また、使っていれば徐々に空き容量は少なくなっていく。
アプリをシステム領域に移動しても同じ事。SDカード上よりは起動が速いかもしれないが根本的な容量不足は解決しない。

システム領域は100MBほど空いていたのでココに Dexファイルを移動して元の場所にはシンボリックリンクをおいて見た。
具体的には(Google Playストアを例に)
1) /system/dex/ フォルダを作り
2)/data/dalvik-cahche/system@app@Vending.apk@classes.dex を1のフォルダに移動(コピーして元ファイル削除)
3)/system/dex/ には system@app@Vending.apk@classes.dex -> /system/dex/system@app@Vending.apk@classes.dex というシンボリックリンクを置く

あまり活用方法のなかったシステム領域の空き部分にDexファイルを移動して空き容量のバランスを改善することができた。
アプリの起動や端末の再起動を繰り返してみたが特に現時点で不具合は無さそうである。
アプリのアップデートを行うときにはちょっと面倒だが、しばらくこの方法で「空き容量がありません」的なメッセージからは解放されそうである。

上記の操作は、パソコンに繋いで手動でターミナルを叩くほうが楽でしょう。
Android Terminal emulatorなどで端末上でも一応できます。

【追記:2013/06/03 17:17 JST】
具体的にどうやるか不親切なメモ
0)USBケーブルで開発環境のあるパソコン(自分はMac)とF-03D(設定>アプリケーション>開発>USBデバッグにチェック)を繋ぎ、 adb shellと入力して $プロンプト、 suと入力して #プロンプト出します。
F-03D上で行う場合はAndroid Terminal Emulator起動してsu、そして/system ディレクトリをRW(書き込み可)で利マウントします。

1)予めLink2SDなどでDexファイルの大きいモノをチェック。ファイル名なども確認しておきます。
2)例としてマップ(バージョン 6.14.4)のDexファイルを移動、リンク作成することにします。Dexファイルは /system/dex/というフォルダを作成してそこに置くことにします。

# mkdir /system/dex/
# cd /data/dalvik-cache/
# cp system@app@Maps.apk@classes.dex /system/dex/
# rm system@app@Maps.apk@classes.dex
# ln -s /system/dex/system@app@Maps.apk@classes.dex system@app@Maps.apk@classes.dex

【追記:2013/06/03 17:27 JST】
何がどうなっているのか?普通に使うにはどの程度空き容量があれば良いのか…など
〜お手すきの方はお読み下さい。

本体内の保存領域が260MBと少ないF-03Dですが、ここさえ何とかできれば(その容量の少なさから)クソ携帯と言われているだけあって、おさいふ+ワンセグ+赤外線+防水+置くだけ充電+小型+当然FOMAプラス対応+800万画素メインカメラ+フラッシュ+とりあえずインカメラ…と、普通仕様には充分な端末にして安く入手できます。女子向けデザインですがプレシャスホワイトは男が持っていても変じゃないです。

で、容量の少ないのにてんこ盛りなアプリを消す…などのために別掲記事や関連ブログを参考に一時rootを取るわけです。
一時rootではSDカードにext3などのパーティションを切っていても起動時にマウント(使える状態に接続)ができません。Link2SDのメインな機能ですが残念ながら使えません。

rootになって、/system領域を読み書きできる状態にして不要なアプリを消します。
/data領域の不要アプリに引き続き/system領域の不要アプリも消したりします。
削除すると基本機能が使えなくなるアプリもあるので注意。また、意味がないので削除するのは容量の大きいモノだけにしましょう。
小さきけど勝手に起動して電池が減るんじゃないかと思うアプリは削除ではなく「凍結」。

容量が空いたところで、必要なアプリを入れていくわけですが、ゲームなど無駄に大きいモノは当然SDカード上へ置くわけです。
モノによってはせっかく明けた領域ですから /system領域に置くのも良いでしょう(Link2SDでは「システムアプリに変換」)。
最初はこれでめでたしなのですが、しばらく使っていると微妙に容量が減ってきます。
アプリはいくつかのファイルで構成されていますが、Dexという実行ファイルはかならず/data/dalvik-cache/フォルダに置かれます(つまり、美味しい部分を喰っているわけです)。
アプリの使うデータも多くが/data/data/に置かれています。

/system領域を整理して100MBほど空けてあったで容量が少ないというメッセージが出たのを機にDexファイルを移動できないかとやってみたのが上の記事です。
Dexファイルの大きいモノを選び今のところ、何事もなく動いています。現時点では/data領域に90MB以上の空きがあります。/system領域の空きは70MBほど。

該当するアプリをアップデートするたびに作業を繰り返さなければなりませんが、どうにもならない容量に悩むよりはかなりマシです。

こんな事を気にせず使うには/data領域として1GBは欲しいところです。
不要アプリの削除で動作がキビキビするのと電池が若干長く持つようになることでだいぶ使いやすい端末になっています。
F-03Dを5000円以下で何台か買ってたりするとSONYの端末がかなりの旧機種でも白ロムで高価なのでびっくり。

【追記:2013/06/07 10:57 JST】
ちなみにアプリをアップデートすると /data/dalvik-cache/にある該当するdexリンクはアップデートされたdex実体ファイルに上書きされるのでそのまま起動して使う分には問題ない。
ただ、/system/dex/にある旧dex実体ファイルが無駄になるので時間があるときに実体ファイルのコピー(移動)とシンボリックリンクを作り直せば良い。

root後、/system/app/の不要アプリを削除することで100MB以上の空き領域を作ることができる。面倒な手法だが上記のような方法でこの領域を再活用することができる。apkファイル、dexファイルを/data/ から追い出すことで260MBしかないF-03Dも使える端末になる。不要なアプリを消すことでバッテリーの保ちも良くなり動きも速い。無駄なアプリが動いていなければF-03Dで充分。F-11D(ルート無し)でも不要アプリを削除、凍結することでシングルコア1GHzでももっさりが解消できる。タブレットは4コア歓迎だが、スマホの大きさでやることは電池が保つなら2コアもあれば充分で、動作条件が良ければ1GhzシングルコアでもOKということがわかった。

広告
カテゴリー:smart phone タグ: , ,
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。