android のエミュレータ (avd, android virtual device) をいくつか作成するようになると、結構ディスク容量がとられることに気づきます。で、案の定、システムディスクの容量が足りなくなってきたので、avdの保存先を移動できないか調べたら、できそうなので早速やってみました。
今回の元ネタは下記の記事になります。ありがとうございます。
ちなみに、現在のディスク容量はこんな感じです。
Dドライブのほうが空いているので、こちらに avd を移動させます。 なお、Dドライブへは C:\Users\ユーザー名\home に junction を張ってるので、Cドライブ以下のパス(C:\Users\ユーザー名\home )でアクセスできるようにしています。
環境変数の設定
まずは、avdを保存しているフォルダを環境変数に設定します。
『コントロールパネル』 -> 『システム』 -> 『システムの詳細設定』 -> 『環境変数』 を開いて、ユーザーの環境変数 または システム環境変数 のどちらかに ANDROID_AVD_HOME を追加します。
今回はユーザー用環境変数に追加しました。
avdファイルの移動
次に、既存のavdファイル(デフォルトだと、 C:\Users\ユーザー名\.android\avd になると思います)をすべて、新しいフォルダに移動させます。
を
に移動させます。
移動が完了したら、avd名.ini ファイルをエディタで開いて、
avd.ini.encoding=UTF-8 path=C:\Users\mor\.android\avd\Pixel_3a_XL_API_29.avd path.rel=avd\Pixel_3a_XL_API_29.avd target=android-29
の部分にある path= で示された絶対パスを、下記のように新しいavdフォルダに合わせて編集します。
avd.ini.encoding=UTF-8 path=C:\Users\mor\home\avd\Pixel_3a_XL_API_29.avd path.rel=avd\Pixel_3a_XL_API_29.avd target=android-29
これを移動させたすべての avd 分行います。
確認
最後に、Android Studio を起動して AVD Manager を立ち上げて、既存のエミュレータが問題なく表示されることを確認します。
OKですね。
なお、エミュレータを起動してみると、起動はするけど操作を受け付けない、という状態になっていました。多分、前回起動時の状態(変更前のavdフォルダのパスで起動した状態)が何か残っていて。これが悪さをしているのではないかと推測されます。
今回は、一旦、エミュレータを終了させ、AVD Manager から Cold Boot Now を選択して、 Cold Boot すると問題なく起動・操作ができるようになりました。
ちなみに、おおよそ 68GB 程度空いたようです。
参考
環境変数についての公式の説明
環境変数 | Android デベロッパー | Android Developers
その他の参考記事