Kann geändert werden, wo virtuelle Android-Geräte gespeichert werden?

185

Ich habe das Android SDK und Eclipse auf meinem Computer unter Windows XP eingerichtet und AVDs (virtuelle Android-Geräte) werden standardmäßig unter "Dokumente und Einstellungen \ Benutzer \ .android" gespeichert. Gibt es eine Möglichkeit, dieses Verhalten zu ändern? Ich habe alle anderen Komponenten in einem Verzeichnis auf einer separaten Partition gespeichert und möchte, dass alles konsolidiert wird. Offensichtlich keine große Sache, aber kennt hier jemand eine Problemumgehung dafür?

primehunter326
quelle
Ich habe eine virtuelle RAM-Disk erstellt, die 100x schneller als SSD ist, und das Verschieben von Emulatordateien auf diese Disk beschleunigt das Laden des Emulators erheblich.
Vinigas
@ Vinigas Können Sie bitte näher erläutern "RAM-Disk, die 100x ist" Ich möchte auch meinen Emulator beschleunigen
Utsav Gupta
Ich verwende die Software "SoftPerfect RAM Disk", um eine virtuelle Festplatte zu erstellen. Dann lege ich Android-Emulator-Dateien in diese RAM-Disk und stelle den Emulator-Speicherort ein. Wenn Sie eine Festplatte haben, werden Sie einen großen Unterschied zwischen dem Emulator in der Festplatte und im RAM feststellen.
Vinigas
Frage speichern: stackoverflow.com/questions/3109473/…
Saidolim

Antworten:

246

Fügen Sie eine neue Benutzerumgebungsvariable hinzu (Windows 7):

  1. Startmenü> Systemsteuerung> System> Erweiterte Systemeinstellungen (links)> Umgebungsvariablen

  2. Fügen Sie eine neue Benutzervariable (oben) hinzu, die auf Ihr Heimanwenderverzeichnis verweist:

    Variablenname: ANDROID_SDK_HOME
    Variablenwert: Ein Pfad zu einem Verzeichnis Ihrer Wahl

AVD Manager verwendet dieses Verzeichnis, um sein .androidVerzeichnis darin zu speichern .

Für diejenigen, die interessiert sein könnten, habe ich über meinen ersten Ausflug in die Android-Entwicklung gebloggt ...
Android "Hello World": eine Geschichte von Weh

Alternativ können Sie den Umgebungsvariablen mit dem Rapid Environment Editor festlegen.

wloescher
quelle
1
Vielen Dank. Das Lesen Ihres Blogeintrags war wie ein erneutes Erleben der ersten Stunden des heutigen Tages. Was für ein Schmerz!
Matt Burland
6
+1 für deine Info. aber ich benutze xp. Für mich funktioniert dies nach dem Neustart. Danke dir.
Gunaseelan
1
Dieser Ansatz funktioniert für mich, bis ich meinen Computer neu starte. Win7.
Wangf
2
Oder geben Sie einfach cmdsetx ANDROID_SDK_HOME D:\your\path\here
14етър Петров
13
Die Umgebungsvariable ANDROID_AVD_HOME könnte ANDROID_SDK_HOME vorgezogen werden, da keine in ~ / .android gespeicherte benutzerspezifische Konfiguration verschoben werden muss, damit andere Benutzer / Distributionen dieselben AVDs verwenden können. Funktionierte gut unter Linux Debian.
John
24

Ändern Sie die Datei "virtual_android2.2.ini" unter "C: \ Dokumente und Einstellungen {Ihr Windows-Login} .android \ avd \":

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

Verschieben Sie den Ordner "virtual_android2.2.avd" von "C: \ Dokumente und Einstellungen {Ihr Windows-Login} .android \ avd \" in "E: \ android_workspace \ avd \".

DIYismus
quelle
Das hat bei mir funktioniert! Ein bisschen klobig, dies für jeden Emulator tun zu müssen, den ich erstelle
Chucky
Danke, dass du mich gerettet hast !!
Shahana Kareen
17

Wechseln Sie in das Android-Tools-Verzeichnis. Bearbeiten Sie die Befehlsdatei android.bat. Suchen Sie ungefähr am Ende der Befehlsdatei eine Zeile ähnlich der

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

und ersetzen

call %java_exe%

mit

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

Dabei ist {your_prefer_dire} Ihr bevorzugtes Verzeichnis ohne geschweifte Klammern, aber fügen Sie doppelte Anführungszeichen hinzu.

z.B

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"
Loftysnake
quelle
2
Dies funktionierte für mich, während die akzeptierte Antwort dies nicht tat. Dies beantwortet auch tatsächlich die Fragen des OP, wie vom Benutzer-Ausgangsverzeichnis in ein anderes AVD-Verzeichnis gewechselt werden soll, nicht umgekehrt.
Adam Burley
Dies darf nicht getan werden! SDK Manager beschwert sich darüber und findet den neuen Ordner nicht ... Verwenden Sie ANDROID_SDK_HOME in Benutzerumgebungen und starten Sie Ihren Computer neu. Dies kann hilfreich sein - [.android-Ordner wird in% android_sdk_home% erstellt]
Davideas
16

Basierend auf der offiziellen Dokumentation https://developer.android.com/studio/command-line/variables.html sollten Sie die ANDROID_AVD_HOME- Umgebung ändern var:

Emulator-Umgebungsvariablen

Standardmäßig speichert der Emulator Konfigurationsdateien unter $ HOME / .android / und AVD-Daten unter $ HOME / .android / avd /. Sie können die Standardeinstellungen überschreiben, indem Sie die folgenden Umgebungsvariablen festlegen. Der Befehl emulator -avd durchsucht das Verzeichnis avd in der Reihenfolge der Werte in $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd / und $ HOME / .android / avd /. Geben Sie für die Hilfe zu Emulator-Umgebungsvariablen in der Befehlszeile emulator -help-environment ein. Informationen zu den Emulator-Befehlszeilenoptionen finden Sie unter Steuern des Emulators über die Befehlszeile.

  • ANDROID_EMULATOR_HOME : Legt den Pfad zum benutzerspezifischen Emulator-Konfigurationsverzeichnis fest. Der Standardspeicherort ist
    $ ANDROID_SDK_HOME / .android /.
  • ANDROID_AVD_HOME : Legt den Pfad zu dem Verzeichnis fest, das alle AVD-spezifischen Dateien enthält, die hauptsächlich aus sehr großen Disk-Images bestehen. Der Standardspeicherort ist $ ANDROID_EMULATOR_HOME / avd /. Möglicherweise möchten Sie einen neuen Speicherort angeben, wenn der Standardspeicherort wenig Speicherplatz hat.

Nachdem Sie ANDROID_AVD_HOME geändert oder festgelegt haben, müssen Sie den gesamten Inhalt in ~ user / .android / avd / an Ihren neuen Speicherort verschieben und den Pfad in die INI-Datei jedes Emulators ändern. Ersetzen Sie ihn einfach durch Ihren neuen Pfad

Leonardo Sapuy
quelle
1
Dies sollte die Antwort sein. Danke dir.
Ned
13

Bewegen Sie .androidsich dorthin, wo Sie es möchten.

Erstellen Sie dann einen Symlink wie folgt:

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

Dies teilt Linux einfach mit, dass der Pfad ~ immer dann, wenn er /.androidvon einer Anwendung referenziert wird, mit verknüpft wird /path/to/.android.

ps95
quelle
Vielen Dank @ prakharsingh95
TonyMkenu
6

Überprüfen Sie dies heraus. Mit dem androidBefehl zum Erstellen können avdSie angeben, wo Dateien abgelegt werden sollen.

-p --path     Location path of the directory where the new AVD will be created
Macarse
quelle
Kennen Sie eine Möglichkeit, dies über das Setup-Dienstprogramm zu tun und es auf einen bestimmten Speicherort als Standard festzulegen?
primehunter326
Nicht wirklich. Ich benutze nicht einmal Windows :(
Macarse
Nun, wie gesagt, es ist keine große Sache, ich dachte nur, es gäbe eine Möglichkeit, es besser zu steuern, wenn man bedenkt, wie modular das gesamte SDK-Paket ist. Danke für Ihre Hilfe!
primehunter326
Der obige Link ist tot ( developer.android.com/intl/zh-TW/guide/developing/tools/… )
Jeff Mergler
6

Für Visual Studio 2017 unter Windows 10

C:\Users\YOURUSERNAME\.androidOrdner kopieren in (zum Beispiel)E:\avd

Öffnen Sie das Fenster Umgebungsvariablen:

  1. Gehen Sie in die Einstellungen und klicken Sie auf System.
  2. Klicken Sie links auf Info und wählen Sie unten Systeminformationen aus.
  3. Klicken Sie im neuen Fenster links auf Erweiterte Systemeinstellungen.
  4. Klicken Sie unten im resultierenden Fenster auf Umgebungsvariablen.

Fügen Sie eine neue Variable hinzu:

  • Variablennamen: ANDROID_SDK_HOME
  • Variablenwert: ein Pfad zu einem Verzeichnis (zB E:\avd)

Nicht .androidin den Variablenwert aufnehmen.

Starten Sie Visual Studio neu.

Informationen zum Ändern des SDK- und NDK-Speicherorts finden Sie unter:

Extras -> Optionen -> Xamarin -> Android-Einstellungen

user2511140
quelle
4

Sie können die INI-Datei für die neue AVD ändern:

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

Ich weiß nicht, wie ich angeben soll, wo die INI-Datei gespeichert werden soll :)

JFrostos
quelle
4

Die Umgebungsvariable ANDROID_AVD_HOMEkann verwendet werden, um das Verzeichnis zu definieren, in dem der AVD Manager nach AVD INI-Dateien suchen soll, und kann daher verwendet werden, um den Speicherort der virtuellen Geräte zu ändern.

Der Standardwert ist %USERPROFILE%\.android\avdunter Windows (oder ~/.android/avdunter Linux).

Man kann auch einen Link für das gesamte Verzeichnis %USERPROFILE%\.androidunter Windows erstellen (oder einen Sym-Link für das Verzeichnis ~/.androidunter Linux).

Beim Verschieben von AVDs muss der pathEintrag in der AVD INI-Datei entsprechend aktualisiert werden.

Martin Zeitler
quelle
Diese Umgebungsvariable ANDROID_AVD_HOME könnte ANDROID_SDK_HOME vorgezogen werden, da keine in ~ / .android gespeicherte benutzerspezifische Konfiguration verschoben werden muss, da andere Benutzer / Distributionen dieselben AVDs verwenden könnten. Unter Linux habe ich ANDROID_AVD_HOME in mein ~ / .profile exportiert und es funktioniert gut.
John
3

Eine andere Möglichkeit, ANDROID_SDK_HOME anzugeben, ohne mit Umgebungsvariablen herumzuspielen (insbesondere bei Verwendung von ec2), besteht darin, einfach eine Verknüpfung für Eclipse zu erstellen und Folgendes als Ziel hinzuzufügen

C: \ Windows \ System32 \ cmd.exe / C "setx ANDROID_SDK_HOME IHR AVD- WEG / M & IHR ECLIPSE.EXE-WEG "

Dadurch wird ANDROID_SDK_HOME als Systemvariable festgelegt, wenn Sie Eclipse starten.

HTH Paul

Paul
quelle
3

Bitte beachten Sie Folgendes: Das Ändern von android.bat im Android-Tools-Verzeichnis, wie in einer vorherigen Antwort vorgeschlagen, kann zu Problemen führen.

Wenn Sie dies tun, kann es zu Inkonsistenzen zwischen den von Android Studio aufgelisteten AVDs (über "Extras> Android> AVD Manager") und den von aufgelisteten AVDs kommen, damit sich Ihr .android-Verzeichnis an einem nicht standardmäßigen Speicherort befindet SDK-Befehlszeilentool "android avd".

Ich nehme an, dass Android Studio mit seinem internen AVD-Manager den modifizierten Pfad android.bat nicht verwendet. Es stützt sich auf die Variable ANDROID_SDK_HOME, um AVDs zu lokalisieren.

Meine eigenen Tests haben gezeigt, dass Android-Tools die Variable ANDROID_SDK_HOME korrekt verwenden.

Daher macht es meines Wissens keinen Sinn, android.bat zu ändern, und die Verwendung der Umgebungsvariablen sollte bevorzugt werden.

SR_
quelle
3

In Windows 10 hatte ich dieses Problem, weil mein C-Laufwerk voll wurde und ich freien Speicherplatz benötigte. Der AVD-Ordner hatte 14 Gig-Speicherplatz, sodass ich diesen Ordner auf einen anderen Treiber verschieben musste. Die erste Antwort funktionierte nicht für mich, also habe ich einen anderen Weg zur Behebung getestet Dieses Problem, ich mache ein Bild für Sie, wenn Sie das gleiche Problem haben, müssen Sie nicht alle Dateien im .android-Ordner auf ein anderes Laufwerk verschieben (auf diese Weise nicht funktionieren), verschieben Sie einfach avd-Ordner in .... android \ avd nach ein anderes Laufwerk und öffnen Sie INI-Dateien und ändern Sie den Pfad des AVD-Ordners von dieser Datei in einen neuen Pfad. Gefällt mir dieses Bild:

Mit dem Bild können Sie sehen, wie Sie den alten Pfad in einen neuen Pfad ändern

Ich hoffe das funktioniert bei dir.

Ali Yousefi
quelle
1

In meinem Fall ging es mir um den Speicherplatz des Laufwerks C:. Also habe ich den Ordner ".avd" (nicht die Datei) auf ein anderes Laufwerk kopiert und die Datei ".ini" dort belassen, aber so geändert, dass sie auf den verschobenen Ordner zeigt

user829248
quelle
1

Ich denke, der einfachste Weg ist, den Ordner avd aus dem Ordner C: \ Users [USER] .android an den gewünschten Speicherort zu verschieben und dann in C: \ Users [USER] .android mit demselben Namen einen symbolischen Link dazu zu erstellen .

Wenn Sie sich fragen, wie das geht, installieren Sie zuerst die Link Shell-Erweiterung . Nach Ordner Bewegung rechten Maustaste darauf und wählen Sie Link Quelle Wählen Sie dann mit der rechten Maustaste in .android Ordner und in Tropfen unter ... Untermenü wählen symbolische Verknüpfung .

Ali
quelle
das funktioniert und ehrlich gesagt sollte es viel höher sein. Außerdem können Sie eine symbolische Verknüpfung erstellen, für die C:\Users\user\AppData\Local\Android\Sdk\system-imagesdieser Ort ebenfalls viel Platz beansprucht. Sie müssen keine Tools von Drittanbietern verwenden, mklink /D system-images D:\path\to\system-imagesfunktioniert einwandfrei
Eichhörnchen
1

Ich folgte https://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-location .

  1. Kopieren Sie einen Ordner "C: \ Benutzer \ Benutzer \ .android \ avd" nach "D: \ Android \ .android \ avd" (oder etwas anderes).

  2. Schließen Sie Android Studio und führen Sie Emulatoren aus.

  3. Drücken Win + Breakund öffnen Advanced System Settings. Dann drücken Sie Environment Variables. Fügen Sie eine Benutzervariable hinzu ANDROID_SDK_HOME. (Ich habe nicht experimentiert ANDROID_AVD_HOME.) In Variable valueFeld schreiben D:\Android. Wenn Sie das SDK auch in einen anderen Ordner verschoben haben, ändern Sie es ANDROID_HOME(ich habe vergessen, es zu ändern, und einige Emulatoren wurden nicht gestartet, siehe https://stackoverflow.com/a/57408085/2914140 ).

  4. Warten Sie, bis der Ordner vollständig kopiert wurde, und starten Sie Android Studio.

  5. Öffnen Sie Android Virtual Device Managerund sehen Sie eine Liste der Emulatoren. Wenn Sie keine Emulatoren sehen und diese vorhanden sind, haben Sie in Schritt 3 wahrscheinlich einen falschen Pfad in den Wert der Benutzervariablen eingegeben. Schließen Sie in diesem Fall AS, ändern Sie die Variable und öffnen Sie AS erneut.

  6. Starten Sie einen beliebigen Emulator. Es wird versuchen, seinen Status wiederherzustellen, aber manchmal schlägt es fehl . Anstelle des Android-Hintergrundbilds kann ein schwarzer Bildschirm angezeigt werden.

  7. In diesem Fall können Sie:

    ein. Starten Sie Ihren Emulator neu. Klicken Sie dazu in AVD Manager, um den Emulator zu schließen Cold Boot Now.

Geben Sie hier die Bildbeschreibung ein

b. Wenn dies nicht geholfen hat, öffnen Sie die Emulatoreinstellungen in der Datei "D: \ Android \ .android \ avd \ Pixel_API_27.ini".

Geben Sie hier die Bildbeschreibung ein

Ändern Sie einen Pfad zu einem neuen AVD-Ordner. Starten Sie den Emulator neu.

  1. Löschen Sie den alten AVD-Ordner aus "C: \ Users \ user \ .android \ avd".
CoolMind
quelle
0

ANDROID_SDK_HOME funktionierte auch für mich unter Windows 8 x64. Finde auch alle Speicherorte (in meinem Fall war es d: \. Android) und lösche sie. Du wirst es nicht mehr brauchen.

Alkasai
quelle
0

Im AVD-Manager wurde nach dem Einrichten von AVD mithilfe eines Ziels mit Google APIsbeim Ausführen ein Fehler angezeigt.

Detail zeigte: "AVD Unbekanntes Ziel 'Google Inc .: Google APIs: ......"

Während der Installation (auf dem Win7-System) hatte ich einen SDK-Verzeichnisspeicherort ausgewählt, anstatt zu akzeptieren, dass C:\Users\... ich dieses Verzeichnis dann zur Umgebungsvariablen 'Pfad' hinzugefügt hatte. Befehlszeile: Android-Listenziele zeigten einige Google-APIs an.

Durch die Einstellung ANDROID_SDK_HOMEauf meinen Installationspfad wurde der avd-Ausführungsfehler behoben.

user5803030
quelle
0

Variablenname: ANDROID_SDK_HOME
Variablenwert: C: \ Benutzer> Benutzername

arbeitete für mich.

Buminda
quelle
0

MacOs Holen Sie sich ein Verzeichnis adv

./emulator -help-datadir

Das Standardverzeichnis ist:

/Users/{your_computer_user_name}/.android

und dann Gehe zu avd Folder editiere die INI-Datei mit dem Pfad zu deinem benutzerdefinierten Emulatorverzeichnis. Beispiel:

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

und dann speichern. Jetzt hat sich Ihr Emulator geändert

Geben Sie hier die Bildbeschreibung ein

Und Ergebnis:

Geben Sie hier die Bildbeschreibung ein

Tung Tran
quelle
0

Es gibt 4 Hauptschritte: 1. Kopieren Sie den .android-Ordner an Ihren gewünschten Speicherort wie in D:\Android\.android 2. Setzen Sie ANDROID_AVD_HOME in Umgebungsvariablen wie ANDROID_AVD_HOME D:\Android\.android\avd 3. Ändern Sie den Inhalt der Datei avd name.ini mit einem neuen Speicherort wie 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 4. Starten Sie android studio neu

Durgesh Kumar
quelle
0

1 - Verschieben Sie die AVD in einen neuen Ordner

2 - Startmenü> Systemsteuerung> System> Erweiterte Systemeinstellungen (links)> Umgebungsvariablen Fügen Sie eine neue Benutzervariable hinzu: Variablenname: ANDROID_AVD_HOME Variablenwert: Ein Pfad zu einem Verzeichnis Ihrer Wahl

3 - Ändern Sie die Datei .INI Neuen Ordner festlegen.

4 - Öffnen Sie Android Studio

WERKE - Windows 2010

WEITERE ANWEISUNGEN: https://developer.android.com/studio/command-line/variables

user4062512
quelle