Posts tagged ‘AVD’

Android AVD の作成時に気を付けること

Android 用アプリケーションを作るため CentOS と WinXP に Eclipse ベースの環境を構築した。このとき WinXP 環境でちょっとしたつまづきがあったので、そのことを記録しておく。

Android SDK や Eclipse plug-in の ADT インストールはほぼ問題なく完了したが、AVD (Android Virtual Device) を作成したところ、PC の C: ドライブがパンク寸前になっていることに気づいた。AVD を作成するとかなりの容量を消費するようで、バージョン 1.6 用で 1.0GB、2.0.1 用だと 2.0GB も使ってしまう。いまどき 2.0GB 程度で騒ぐほどのことではないのだが、SDK を入れたノート PC の二分割された HDD パーティションは、C: ドライブが D: ドライブよりも容量がかなり小さくなっている。そのため色々とインストールしているうち窮屈になっていたところに AVD を二つ作成したため、一気に満杯となってしまった。

こういった事態を避けるため、AVD 作成時にその場所を任意に指定できればいいのだが、Eclipse のインタフェース経由で AVD を作成するときは、作成場所が C: ドライブに固定されていて変更出来ないようだ。実は Eclipse を介さずにコマンドで直接 AVD を作成することも可能で、この場合は AVD の作成場所を指定できる。しかし、せっかく作成した AVD(生成には時間が掛かる)なので、これをそのまま引っ越せないか試行してみた。

AVD を新規作成すると設定ファイルとデータディレクトリが作られる。例えば Android_1.6 という名前で AVD を作ると、次のようなファイルとディレクトリが出来上がる。

C:\Documents and Settings\<YOUR_ACCOUNT_NAME>\.android\avd\Android_1.6\
C:\Documents and Settings\<YOUR_ACCOUNT_NAME>\.android\avd\Android_1.6.ini

この Android_1.6 ディレクトリをそのまま別の HDD 領域に移動するとともに、Android_1.6.ini ファイル内に記述されているディレクトリを移動先のものに書き換える。この Andoroid_1.6.ini については上記の場所から移動していはいけない。

この方法で 3.0GB もあった AVD を容量に余裕のある HDD に移行しても、問題なく Android エミュレータを起動することができた。

(2009-12-09 訂正)
本文中 Android のバージョンにより AVD が必要とする HDD 容量が異なっていると記述したが、これは誤っていることが分かった。今回の作業でバージョン 1.6 が 1.0GB、2.0 では 2.0GB となっていたのは、AVD 作成時に指定した仮想 SD カード(sdcard.img)の容量が異なっていることによる。SD カードを除くと、AVD の初期状態(userdata.img, userdata-qemu.img, cache.img, etc)で 50MB にも満たない程度であり、この大きさはバージョン 1.6、2.0 のいずれでもほとんど同じであった。