[Android] CyanogenMod 4.0.4でAppsToSDを試す

Android Marketからいろいろと面白そうなアプリを見つけては、インストールして試していますが、いつも悩みの種なのがメインメモリの容量です。ちょっとしたアプリを入れているだけのつもりでも、塵も積もればの世界で、気がつくと空きメモリがほとんどなくなっていたりすることもあります。

先日などは、ブラウザがちょっと動くだけで落ちるので、あれどうしたのかとメモリ容量をチェックしたら、数百キロバイトしか空きがありませんでした。

携帯端末のメモリ容量はPalmの時代から綿々と話題になってきたテーマです。私が最近使っていた端末(PalmT|XやAdes、EMONEなど)は、あまり空きメモリのことで煩わされることはありませんでしたが、G1は74MBしかメインメモリがなく、最近の端末にしてはちょっと心もとない感じです。

で、こういったメモリ不足を過去のPDAではどう解消してきたかといえば、アプリをメインメモリではなく、外部記憶(SDカードなど)に入れられるようにする、という仕組みを提供するということです。

その手のソリューションはPalmの時代からあったのですが、なぜかあまりOSの標準機能としては搭載されないですね(WMはどちらに入れるか選べますが)。

ということで、前置きが長かったですが、Androidでこれを実現するAppsToSDをCyanogenMod 4.0.4で試してみました。

そもそも、CyanogenModはAppsToSDの動作対象に入っていないような雰囲気ですので、そこのところは自己責任でお試しください。また、いろいろ試行錯誤しながらたどり着いているため、いらない手順とか不足している手順とかがあるかもしれません。

(0) microSDの内容をバックアップします。

PCなどを使って、microSDの内容をバックアップしておきます。特別なツールを使う必要はありません。注意として、microSDのvfatは後でリサイズされるので、リサイズ後にリストアできるようなファイル容量にしておく必要があります。

(1) Android MarketからAppsToSDをダウンロード・インストールします。

これは、特に説明は不要でしょう。

(2) AppsToSDを起動します。

AppsToSDはmicroSDにvfat(Windows用のフォーマット)とext2(Android=Linux用のフォーマット)の2つのパーティションをつくり、ext2のパーティションにアプリをインストールできるようにします。

しかしながら、この画面が曲者でした。私はこの画面でパーティションの分割やリサイズができるのだと思っていたのですが、後の手順などもあわせて考えると、どうもCyanogenの場合、AppsToSDに必要なツールがいくつか不足しているようです。この画面でリサイズを設定して先に進むと、リブートがかかるのですが、私の場合はOSが起動しなくなりました。

なので、Cyanogenの方はAppsToSDを起動しても、先に進まないでください。

(3) microSDカードを別のツールでパーティション分割します。

おそらくは、JFなどを使っていれば、(2)の画面で実際にパーティション分割ができるのかもしれませんが、どうも無理そうなので、他の手段でパーティション分割をしてください。条件としては、

・両方基本パーティションでOK
・最初のパーティションがvfat、2番目のパーティションがext2
・フォーマットは必須でない(と思います)

私の場合は、Ubuntuのfdiskコマンドでやりました。microSDの容量は4GBなんですが、vfatが3GB、ext2が1GBという感じに分割しました。

(4) パーティション分割したmicroSDをセットしてG1を起動

(5) 再び、AppsToSDを起動

よし、今度こそと思い起動すると、今度は、なにやら英語のメッセージが出てきて「Oops!」などと言ってきます。読むと、「なんだか準備が不足しているみたいだから、http://forum.xda-developers.com/showthread.php?t=512743を見に行って設定をしろ、と言われます。

(6) 指示されたサイトの手順のいくつかを実施

言われるがままそのサイトを見に行くと、ターミナルですべき作業が掲載されていますので、そのうちのいくつかを実行します。

su
mkdir /system/sd/app

続いて、このサイトの投稿者が添付したファイル(a2sd,zip)を展開し、下記のコマンドを実行します。

su
cp /sdcard/init.rc /data/
cp /sdcard/a2sd.sh /data/


リブートします。

これ以降は、インストールするアプリケーションはほとんどメインメモリではなく、SDカードに自動的にインストールされるようになるはずです。

コメント