Android仮想デバイスの保存場所を変更できますか?


185

Windows XPを実行しているマシンにAndroid SDKとEclipseを設定しました。デフォルトでは、AVD(Android仮想デバイス)は「Documents and Settings \ user \ .android」に保存されます。この動作を変更する方法はありますか?他のすべてのコンポーネントを別のパーティションのディレクトリに保存しており、すべてを統合したいと考えています。明らかに大したことではありませんが、この問題の回避策を知っている人はいますか?


SSDより100倍高速な仮想RAMディスクを作成し、このディスクにエミュレーターファイルを移動すると、エミュレーターの読み込みが非常に高速化されます。
Vinigas

@Vinigas詳しく説明してください "100xのRAMディスク"エミュレータも高速化したい
Utsav Gupta

「SoftPerfect RAM disk」ソフトウェアを使用して仮想ディスクを作成します。次に、このRAMディスクにAndroidエミュレータファイルを入れ、エミュレータの場所を設定します。HDDを使用している場合は、HDDとRAMのエミュレーターに大きな違いがあります。
Vinigas

回答:


246

新しいユーザー環境変数を追加します(Windows 7)。

  1. [スタート]メニュー> [コントロールパネル]> [システム]> [システムの詳細設定](左側)> [環境変数]

  2. ホームユーザーディレクトリを指す新しいユーザー変数(上部)を追加します。

    変数名:ANDROID_SDK_HOME
    変数値: 選択したディレクトリへのパス

AVD Managerはこのディレクトリを使用して保存します .androidディレクトリます。

興味があるかもしれない人のために、私はAndroid開発への私の最初の進出についてブログに書きました...
Android "Hello World":悲惨な物語

または、Rapid Environment Editorを使用して環境変数を設定できます。


1
ありがとう。ブログのエントリを読むのは、今日の最初の数時間を振り返って、これについていじめているようなものでした。なんて痛い!
Matt Burland

6
あなたの情報のために+1。XPを使用しています。私にとってこれは再起動後に機能します。ありがとうございました。
Gunaseelan 2013年

1
この方法は、コンピュータを再起動するまで機能します。Win7。
wangf 2015年

2
それとも、CMDを入力setx ANDROID_SDK_HOME D:\your\path\here
ПетърПетров

13
ANDROID_AVD_HOME環境変数は、〜/ .androidに保存されているユーザー固有の設定の移動を避け、他のユーザー/ディストリビューションが同じAVDを使用できるようにするため、ANDROID_SDK_HOMEよりも優先される場合があります。Linux Debianでうまく動作しました。
ジョン

24

「C:\ Documents and Settings {your windows login} .android \ avd \」の「virtual_android2.2.ini」ファイルを変更します。

target=android-8
path=E:\android_workspace\avd\virtual_android2.2.avd

そして、「virtual_android2.2.avd」フォルダを「C:\ Documents and Settings {your windows login} .android \ avd \」から「E:\ android_workspace \ avd \」に移動します。


これは私のために働いた!私が作成するすべてのエミュレータに対してこれを行う必要がある少し不格好です
Chucky

助けてくれてありがとう!
shahana kareen

17

Android toolsディレクトリーに移動します。android.batコマンドファイルを編集します。コマンドファイルのほぼ終わりで、次のような行を見つけます。

call %java_exe% -Djava.ext.dirs=%java_ext_dirs% -Dcom.android.sdkmanager.toolsdir="%tools_dir%" -Dcom.android.sdkmanager.workdir="%work_dir%" -jar %jar_path% %*

そして交換する

call %java_exe%

call %java_exe% -Duser.home={your_prefer_dir}

ここで、{your_prefer_dire}は中括弧なしの優先ディレクトリですが、二重引用符を追加します。

例えば

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"

2
これは私にとってはうまくいきましたが、受け入れられた答えはうまくいきませんでした。また、これは実際にはOPが尋ねたものに答えます。これは、ユーザーのホームディレクトリから別のAVDディレクトリに変更する方法であり、その逆ではありません。
Adam Burley

これは行わないでください!SDK Managerが問題を報告し、新しいフォルダーの場所が見つからない...ユーザー環境でANDROID_SDK_HOMEを使用してコンピューターを再起動すると、解決する場合があります-[.androidフォルダーは%android_sdk_home%に作成されます]
Davideas

16

公式ドキュメントhttps://developer.android.com/studio/command-line/variables.htmlに基づいて、ANDROID_AVD_HOME環境変数を変更する必要があります。

エミュレータ環境変数

デフォルトでは、エミュレーターは$ HOME / .android /に構成ファイルを保存し、$ HOME / .android / avd /にAVDデータを保存します。以下の環境変数を設定することにより、デフォルトをオーバーライドできます。エミュレーター-avdコマンドは、$ ANDROID_AVD_HOME、$ ANDROID_SDK_HOME / .android / avd /、および$ HOME / .android / avd /の値の順序でavdディレクトリーを検索します。エミュレータ環境変数のヘルプを表示するには、コマンドラインでemulator -help-environmentと入力します。エミュレータのコマンドラインオプションについては、「コマンドラインからエミュレータを制御する」を参照してください。

  • ANDROID_EMULATOR_HOME:ユーザー固有のエミュレーター構成ディレクトリーへのパスを設定します。デフォルトの場所は
    $ ANDROID_SDK_HOME / .android /です。
  • ANDROID_AVD_HOME:すべてのAVD固有のファイルを含むディレクトリへのパスを設定します。これらのファイルは主に非常に大きなディスクイメージで構成されています。デフォルトの場所は$ ANDROID_EMULATOR_HOME / avd /です。デフォルトの場所のディスク容量が少ない場合は、新しい場所を指定することをお勧めします。

ANDROID_AVD_HOMEを変更または設定した後、〜user / .android / avd /内のすべてのコンテンツを新しい場所に移動し、パスを各エミュレーターのiniファイルに変更し、新しいパスに置き換えるだけです。


1
これが答えです。ありがとうございました。
ネッド

13

あなたを動かす .android好きな場所に。

次に、次のようなシンボリックリンクを作成します。

# In your home folder
$ ln -s /path/to/.android/ .

これは単に、パス〜/.androidが任意のアプリケーションによって参照されるときはいつでも、それをにリンクすることをLinuxに伝えます/path/to/.android


ありがとう@ prakharsingh95
TonyMkenu

6

これをチェックてください。androidコマンドを使用して作成avdすると、ファイルを配置する場所を指定できます。

-p --path     Location path of the directory where the new AVD will be created

セットアップユーティリティを使用してこれを実行し、デフォルトで特定の場所に設定する方法を知っていますか?
primehunter326

あんまり。私は窓も使用していません:(
Macarse

まあ、それは大したことではないと言ったように、SDKパッケージ全体がどのようにモジュール化されているかを考えると、それをさらに制御する方法があると思いました。ご協力いただきありがとうございます!
primehunter326


6

Windows 10上のVisual Studio 2017の場合

C:\Users\YOURUSERNAME\.android(例)にフォルダをコピーE:\avd

環境変数ウィンドウを開きます。

  1. [設定]に移動し、[システム]をクリックします。
  2. 左側で[概要]をクリックし、下部にある[システム情報]を選択します。
  3. 新しいウィンドウで、左側の[システムの詳細設定]をクリックします。
  4. 表示されるウィンドウの下部にある[環境変数]をクリックします。

新しい変数を追加します。

  • 変数名: ANDROID_SDK_HOME
  • 変数値:ディレクトリへのパス(例E:\avd

含めない .android変数値に。

Visual Studioを再起動します。

SDKとNDKの場所を変更するには、次の場所に移動します。

ツール->オプション-> Xamarin-> Android設定


4

新しいAVDの.iniファイルを変更できます。

target=android-7
path=C:\Users\username\.android\avd\VIRTUAL_DEVICE_NAME.avd

.iniファイルを保存する場所を指定する方法がわかりません:)


4

環境変数ANDROID_AVD_HOMEは、AVD ManagerがAVD INIファイルを探すディレクトリを定義するために使用できるため、仮想デバイスの場所を変更するために使用できます。

デフォルト値は%USERPROFILE%\.android\avdWindows(または~/.android/avdLinux)です。

%USERPROFILE%\.androidWindows上のディレクトリ全体のリンク(またはディレクトリのシンボリックリンク)を作成することもできます。~/.android Linuxでは。

pathAVDを移動するときは、AVD INIファイルのエントリをそれに応じて更新する必要があります。


このANDROID_AVD_HOME環境変数は、他のユーザー/ディストリビューションが同じAVDを使用できるため、〜/ .androidに保存されているユーザー固有の設定の移動を回避するため、ANDROID_SDK_HOMEよりも優先される可能性があります。Linuxでは、ANDROID_AVD_HOMEを〜/ .profileにエクスポートしましたが、うまく機能します。
ジョン

3

環境変数をいじり回すことなくANDROID_SDK_HOMEを指定する別の方法(特にec2を使用する場合)は、単純にeclipseのショートカットを作成し、以下をターゲットとして追加することです

C:\ Windows \ System32 \ cmd.exe / C "setx ANDROID_SDK_HOME YOUR AVD PATH / M&YOUR ECLIPSE.EXE PATH "

これにより、Eclipseを起動するたびに、ANDROID_SDK_HOMEがシステム変数として設定されます。

HTHポール


3

次の点に注意してください。前の回答で提案されているように、Android toolsディレクトリのandroid.batを変更すると、問題が発生する可能性があります。

その場合、.androidディレクトリをデフォルト以外の場所に正当に配置するために、Android Studioによって一覧表示されたAVD([ツール]> [Android]> [AVD Manager]を使用)と次によって一覧表示されたAVDの間に不整合があるsdkコマンドラインツール「android avd」。

Android Studioは、内部のAVD Managerとともに、android.batの変更されたパスを使用しないと思います。ANDROID_SDK_HOME変数を使用してAVDを検索します。

私のテストでは、AndroidツールがANDROID_SDK_HOME変数を正しく使用していることがわかりました。

したがって、私が知る限り、android.batを変更しても意味がなく、環境変数を使用することをお勧めします。


3

Windows 10では、Cドライブがいっぱいになり空きスペースが必要だったために問題がありました。AVDフォルダーには14ギガのスペースがあり、そのフォルダーを別のドライバーに移動する必要がありました。この問題、同じ問題がある場合は写真を作成します。.androidフォルダー内のすべてのファイルを別のドライブに移動する必要はありません(この方法は機能しません)。avdフォルダーを.... android \ avdに移動するだけです。別のドライブと.iniファイルを開き、avdフォルダーのパスをそのファイルから新しいパスに変更します。この画像のように:

画像は、古いパスを新しいパスに変更する方法を確認するのに役立ちます

これがうまくいくことを願っています。


1

私の場合、気になるのはC:ドライブのディスク容量です。だから私がしたことは「.avd」フォルダ(ファイルではない)を他のドライブにコピーし、「。ini」ファイルはそこに残しますが、移動したファイルを指すように変更します


1

最も簡単な方法は、avdフォルダーをC:\ Users [USER] .androidフォルダーから目的の場所に移動し、C:\ Users [USER] .androidに同じ名前のシンボリックリンクを作成することです。

これを行う方法について疑問がある場合は、最初にLink Shell Extensionをインストールしてください。フォルダを移動した後、右クリックして[ リンクソースを選択]を選択し、.androidフォルダを右クリックして[ ドロップ... ]サブメニューで[ シンボリックリンク ]を選択します。


これは機能し、正直なところ、はるかに高くなるはずです。さらに、のシンボリックリンクを作成できますC:\Users\user\AppData\Local\Android\Sdk\system-images。その場所も多くのスペースを消費します。サードパーティ製のツールを使用する必要はなく、問題なくmklink /D system-images D:\path\to\system-images動作します
リス

1

私はhttps://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-locationをフォローしました。

  1. フォルダ「C:\ Users \ user \ .android \ avd」を「D:\ Android \ .android \ avd」(またはその他)にコピーします。

  2. Android Studioを閉じ、エミュレータを実行します。

  3. を押しWin + Breakて開きAdvanced System Settingsます。次にを押しEnvironment Variablesます。ユーザー変数を追加しますANDROID_SDK_HOME。(私は実験しませんでしたANDROID_AVD_HOME。)Variable valueフィールドに書いてくださいD:\Android。SDKも別のフォルダーに移動した場合は、変更します(変更するのANDROID_HOMEを忘れて、一部のエミュレーターが起動しませんでした。https://stackoverflow.com/a/57408085/2914140を参照してください)。

  4. フォルダーのコピーが完了するまで待ち、Android Studioを起動します。

  5. Android Virtual Device Managerエミュレータのリストを開いて表示します。エミュレータが表示されず、それらが存在した場合は、おそらく手順3でユーザー変数値に間違ったパスを入力した可能性があります。この場合、ASを閉じ、変数を変更して、再度ASを開きます。

  6. エミュレータを起動します。状態を復元しようとしますが、失敗することあります。Androidの壁紙の代わりに黒い画面が表示されることがあります。

  7. この場合、次のことができます。

    a。エミュレータを再起動します。これを実行するには、実行中のエミュレータを閉じ、AVD ManagerでをクリックしますCold Boot Now

ここに画像の説明を入力してください

b。これで問題が解決しない場合は、ファイル「D:\ Android \ .android \ avd \ Pixel_API_27.ini」にあるエミュレータ設定を開きます。

ここに画像の説明を入力してください

パスを新しいAVDフォルダーに変更します。エミュレータを再起動します。

  1. 「C:\ Users \ user \ .android \ avd」から古いAVDフォルダーを削除します。

0

ANDROID_SDK_HOMEも私にとってWindows 8 x64で機能し、すべての場所(私の場合はd:\。android)を見つけて削除しました。もう必要ありません。


0

AVDマネージャーで、ターゲットを使用してAVDをセットアップした後Google APIs、実行時にエラーが発生しました。

詳細:「AVD不明なターゲット 'Google Inc.:Google API:......」

インストール中に(Win7システムで)SDKディレクトリの場所を選択しましたが、受け入れるのではなく、C:\Users\... そのディレクトリを環境変数'path'に追加しました コマンドライン:android listのターゲットには、いくつかのGoogle APIが表示されました。

ANDROID_SDK_HOMEインストールパスを設定すると、avd runエラーが修正されました。


0

変数名:ANDROID_SDK_HOME
変数値:C:\ Users>ユーザー名

私のために働いた。


0

MacOs ディレクトリadvを取得

./emulator -help-datadir

デフォルトのディレクトリは次のとおりです。

/Users/{your_computer_user_name}/.android

次に、カスタムエミュレータディレクトリの例へのパスを含む.iniファイルを編集するavdフォルダーに移動します。

path = / Volumes / Macintos / _emulatorandroid / avd / Nexus_5X_API_27.avd path.rel = avd / Nexus_5X_API_27.avd target = android-27

保存します。エミュレータが変更されました

ここに画像の説明を入力してください

そして結果:

ここに画像の説明を入力してください


0

主要な4つのステップがあります。1。のように.androidフォルダーを目的の場所にコピーしますD:\Android\.android 。2。などの環境変数にANDROID_AVD_HOMEを設定しますANDROID_AVD_HOME D:\Android\.android\avd 。3。avd name.iniファイルの内容を新しい場所で変更します。4。android avd.ini.encoding=UTF-8 path=D:\Android\.android\avd\Pixel_2_API_29.avd path.rel=avd\Pixel_2_API_29.avd target=android-29 studioを再起動します 。


0

1-AVDを新しいフォルダーに移動

2-スタートメニュー>コントロールパネル>システム>システムの詳細設定(左側)>環境変数新しいユーザー変数を追加:変数名:ANDROID_AVD_HOME変数値:選択したディレクトリへのパス

3-ファイル.INI Set new folderを変更します。

4-Android Studioを開く

WORKS-Windows 2010

その他の手順:https : //developer.android.com/studio/command-line/variables

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.