なか日記

一度きりの人生、楽しく生きよう。

Android仮想デバイスが作成されるフォルダと実行フォルダが一致しなくなった時の対処<span style="color:#FF0000;">(不完全)</span>

注)「SDK Setup.exe」から起動する場合は問題無いのですが、EclipseのADTPluginから実行した場合は解決しません。

はい。タイトルわかりづらいですね。
いろいろ考えたのですが、適当なのが思いつかなかったのでエントリ名募集しますw

私の環境(Windows7(x64))で発生したのですが、AVD(Android仮想デバイス)をいくら再作成しても再作成時の設定が反映されない。
また、新しい名前でAVDを作成しても実行すると以下の様なエラーになってしまいます。
f:id:nakaji999:20100525230052p:image

emulator: ERROR: unknown virtual device name: 'HOGE'
emulator: could not find virtual device named 'HOGE'

状況を確認して、こんな対応しましたよという内容です。

現象

Android SDKでAVDを作成した際、AVDの関連ファイル一式が
D:\Users\nakaji\.android\avd 配下に作成される

エミュレータが、C:\Users\nakaji\.android\avd 配下のファイルを使おうとするので、ファイルが見つからない。
そんなわけで、削除&作成しても作成した内容が反映されていなかったり、新しいAVDを作成しても起動時にエラーになったりしていたようです。

昔作ったAVDは C:\Users\nakaji\.android\avd 配下にちゃんと作成されてたので、今まで気がつきませんでした。

対処方法

原因がよく分からないので回避方法ということになりますが、以下のような対処を行いました。

環境変数の追加

環境変数ANDROID_SDK_HOME を追加し、Android SDKをインストールしたパスを設定します。
※D:\Android-sdk-windows 等

ANDROID_SDK_HOME配下にAVD用のフォルダを作成

ANDROID_SDK_HOME 配下に「.android」というフォルダを作成します。
エクスプローラからは先頭に「.」がつくフォルダは作成できないので、コマンドプロンプトから以下のようなコマンドで作成する必要があります。

mkdir .android


以上の処置で、AVDは %ANDROID_SDK_HOME%\.android 配下に作成され、エミュレータはこの場所にあるファイルを使用するようになります。

PCをシングルユーザで使用する場合は全く問題ないと思います。
複数人で使用する場合は…機会があれば確認してみようかな。

雑感

上記にも書きましたが、最初のことはちゃんとC:\Users\nakaji\.android配下にAVDは作成されていたと思われます。
ちなみに、D:\Users\nakajiというのは、私がマイドキュメントやデスクトップの場所を変更するために作成したフォルダになります。
マイドキュメント等の保存場所を変えたのが影響しているのかもしれませんが、そこまで検証できていません。

原因まで究明できていないので中途半端なエントリですが、Tipsとしてなら公開してもいいかなということで…

2010/05/26追記

原因?

確認したところ、デスクトップの場所を変更したのが原因のようです。
なぜデスクトップなのかは謎ですが…