Est-il possible de modifier l'emplacement d'enregistrement des appareils virtuels Android?

185

J'ai configuré le SDK Android et Eclipse sur ma machine exécutant Windows XP et les AVD (appareils virtuels Android) sont enregistrés par défaut dans "Documents and Settings \ user \ .android". Existe-t-il un moyen de modifier ce comportement? J'ai tous les autres composants enregistrés dans un répertoire sur une partition séparée et je voudrais que tout soit consolidé. Évidemment, ce n'est pas un problème, mais est-ce que quelqu'un ici connaît une solution de contournement pour cela?

primehunter326
la source
J'ai créé un disque RAM virtuel qui est 100 fois plus rapide que le SSD et le déplacement des fichiers d'émulateur vers ce disque accélère beaucoup le chargement de l'émulateur.
Vinigas
@Vinigas Pouvez-vous élaborer s'il vous plaît "Disque RAM qui est 100x" Je veux aussi accélérer mon émulateur
Utsav Gupta
J'utilise le logiciel "SoftPerfect RAM disk" pour créer un disque virtuel. Ensuite, j'ai mis des fichiers d'émulateur Android dans ce disque RAM et j'ai défini l'emplacement de l'émulateur. Si vous avez un disque dur, vous verrez une grande différence entre l'émulateur sur disque dur et en RAM.
Vinigas le
Sauvegarder la question: stackoverflow.com/questions/3109473/…
Saidolim

Réponses:

246

Ajoutez une nouvelle variable d'environnement utilisateur (Windows 7):

  1. Menu Démarrer> Panneau de configuration> Système> Paramètres système avancés (sur la gauche)> Variables d'environnement

  2. Ajoutez une nouvelle variable utilisateur (en haut) qui pointe vers votre répertoire utilisateur personnel:

    Nom de la variable: ANDROID_SDK_HOME
    Valeur de la variable: un chemin vers un répertoire de votre choix

AVD Manager utilisera ce répertoire pour y enregistrer son .androidrépertoire.

Pour ceux qui pourraient être intéressés, j'ai blogué sur ma première incursion dans le développement Android ...
Android "Hello World": a Tale of Woe

Vous pouvez également utiliser l' éditeur d'environnement rapide pour définir les variables d'environnement.

wloescher
la source
1
Merci. Lire votre article de blog, c'était comme revivre les premières heures de la journée avec ça. Quelle douleur!
Matt Burland
6
+1 pour vos informations. mais j'utilise xp. pour moi, cela fonctionnera après le redémarrage. Je vous remercie.
Gunaseelan
1
Cette approche fonctionne pour moi jusqu'à ce que je redémarre mon ordinateur. Win7.
wangf
2
Ou tapez simplement cmdsetx ANDROID_SDK_HOME D:\your\path\here
Петър Петров
13
La variable d'environnement ANDROID_AVD_HOME pourrait être préférée à ANDROID_SDK_HOME car elle évite de déplacer l'une des configurations spécifiques à l'utilisateur stockées dans ~ / .android afin que d'autres utilisateurs / distributions puissent utiliser les mêmes AVD. A bien fonctionné sur Linux Debian.
John
24

Modifiez le fichier "virtual_android2.2.ini" dans "C: \ Documents and Settings {votre login Windows} .android \ avd \":

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

Et déplacez le dossier "virtual_android2.2.avd" de "C: \ Documents and Settings {votre login Windows} .android \ avd \" dans "E: \ android_workspace \ avd \".

diyisme
la source
Cela a fonctionné pour moi! Un peu maladroit de devoir faire cela pour chaque émulateur que je crée
Chucky
Merci de m'avoir sauvé !!
shahana kareen le
17

Accédez au répertoire des outils Android. Modifiez le fichier de commande android.bat. Vers la fin du fichier de commandes, recherchez une ligne similaire à

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

et remplacer

call %java_exe%

avec

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

où {your_prefer_dire} est votre répertoire préféré sans accolades mais ajoutez des guillemets doubles,

par exemple

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"
loftysnake
la source
2
Cela a fonctionné pour moi, contrairement à la réponse acceptée. En outre, cela répond en fait à ce que l'OP a demandé, à savoir comment passer du répertoire personnel de l'utilisateur à un autre répertoire AVD, et non l'inverse.
Adam Burley
CELA NE DOIT PAS ÊTRE FAIT! SDK Manager s'en plaint et il ne trouve pas le nouvel emplacement du dossier ... Utilisez ANDROID_SDK_HOME sous les environnements utilisateur et redémarrez votre ordinateur peut aider - [le dossier .android sera créé dans% android_sdk_home%]
Davideas
16

Sur la base de la documentation officielle https://developer.android.com/studio/command-line/variables.html, vous devez modifier la var d'environnement ANDROID_AVD_HOME :

Variables d'environnement de l'émulateur

Par défaut, l'émulateur stocke les fichiers de configuration sous $ HOME / .android / et les données AVD sous $ HOME / .android / avd /. Vous pouvez remplacer les valeurs par défaut en définissant les variables d'environnement suivantes. La commande de l'émulateur -avd recherche le répertoire avd dans l'ordre des valeurs dans $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd / et $ HOME / .android / avd /. Pour obtenir de l'aide sur les variables d'environnement d'émulateur, tapez emulator -help-environment sur la ligne de commande. Pour plus d'informations sur les options de ligne de commande de l'émulateur, consultez Contrôle de l'émulateur à partir de la ligne de commande.

  • ANDROID_EMULATOR_HOME : définit le chemin d'accès au répertoire de configuration de l'émulateur spécifique à l'utilisateur. L'emplacement par défaut est
    $ ANDROID_SDK_HOME / .android /.
  • ANDROID_AVD_HOME : définit le chemin d'accès au répertoire qui contient tous les fichiers spécifiques à AVD, qui consistent principalement en de très grandes images disque. L'emplacement par défaut est $ ANDROID_EMULATOR_HOME / avd /. Vous souhaiterez peut-être spécifier un nouvel emplacement si l'emplacement par défaut manque d'espace disque.

Après avoir modifié ou défini ANDROID_AVD_HOME, vous devrez déplacer tout le contenu de ~ user / .android / avd / vers votre nouvel emplacement et changer le chemin dans le fichier ini de chaque émulateur, remplacez-le simplement par votre nouveau chemin

Léonard de Sapuy
la source
1
Cela devrait être la réponse. Je vous remercie.
Ned le
13

Déplacez votre .androidoù vous le souhaitez.

Ensuite, créez un lien symbolique comme celui-ci:

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

Cela indique simplement à Linux que chaque fois que le chemin ~ /.androidest référencé par une application, liez-le /path/to/.android.

ps95
la source
Merci @ prakharsingh95
TonyMkenu
6

Vérifiez ceci . en utilisant la androidcommande pour créer, avdvous pouvez spécifier où placer les fichiers.

-p --path     Location path of the directory where the new AVD will be created
Macarse
la source
Connaissez-vous un moyen de le faire via l'utilitaire de configuration et de le définir par défaut sur un emplacement particulier?
primehunter326
Pas vraiment. Je n'utilise même pas Windows :(
Macarse
Eh bien, comme je l'ai dit, ce n'est pas un gros problème, je pensais simplement qu'il y aurait un moyen de le contrôler davantage étant donné la modularité de l'ensemble du package SDK. Merci de votre aide!
primehunter326
Le lien ci-dessus est mort ( developer.android.com/intl/zh-TW/guide/developing/tools/… )
Jeff Mergler
6

Pour Visual Studio 2017 sur Windows 10

Copier le C:\Users\YOURUSERNAME\.androiddossier vers (par exemple)E:\avd

Ouvrez la fenêtre des variables d'environnement:

  1. Allez dans Paramètres et cliquez sur Système.
  2. Sur la gauche, cliquez sur À propos de et sélectionnez Infos système en bas.
  3. Dans la nouvelle fenêtre, cliquez sur Paramètres système avancés sur la gauche.
  4. Cliquez sur Variables d'environnement au bas de la fenêtre résultante.

Ajoutez une nouvelle variable:

  • Nom de variable: ANDROID_SDK_HOME
  • Valeur de variable: un chemin vers un répertoire (par exemple E:\avd)

Ne pas inclure .androiddans la valeur de la variable.

Redémarrez Visual Studio.

Pour modifier l'emplacement du SDK et du NDK, accédez à:

Outils -> Options -> Xamarin -> Paramètres Android

user2511140
la source
4

Vous pouvez modifier le fichier .ini du nouvel AVD:

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

Je ne sais pas comment spécifier où le fichier .ini doit être stocké :)

JFrostos
la source
4

La variable d'environnement ANDROID_AVD_HOMEpeut être utilisée pour définir le répertoire dans lequel AVD Manager recherchera les fichiers AVD INI et peut donc être utilisée pour changer l'emplacement des périphériques virtuels;

La valeur par défaut est %USERPROFILE%\.android\avdsous Windows (ou ~/.android/avdsous Linux).

On peut également créer un lien pour tout le répertoire %USERPROFILE%\.androidsous Windows (ou un lien symbolique pour le répertoire ~/.androidsous Linux).

Lors du déplacement des AVD, l' pathentrée du fichier AVD INI doit être mise à jour en conséquence.

Martin Zeitler
la source
Cette variable d'environnement ANDROID_AVD_HOME pourrait être préférée à ANDROID_SDK_HOME car elle évite de déplacer l'une des configurations spécifiques à l'utilisateur stockées dans ~ / .android car d'autres utilisateurs / distributions pourraient ainsi utiliser les mêmes AVD. Sous Linux, j'ai exporté ANDROID_AVD_HOME dans mon ~ / .profile et cela fonctionne bien.
John
3

Une autre façon de spécifier ANDROID_SDK_HOME sans jouer avec les variables d'environnement (en particulier lors de l'utilisation d'ec2) est simplement de créer un raccourci d'éclipse et d'ajouter ce qui suit comme cible

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

Cela définira ANDROID_SDK_HOME comme variable système chaque fois que vous lancerez eclipse.

HTH Paul

Paul
la source
3

Veuillez prendre note des points suivants: la modification de android.bat dans le répertoire des outils Android, comme suggéré dans une réponse précédente, peut entraîner des problèmes.

Si vous le faites, pour que votre répertoire .android se trouve légitimement dans un emplacement autre que celui par défaut, il peut y avoir une incohérence entre les AVD répertoriés par Android Studio (en utilisant «Outils> Android> AVD Manager») et les AVD répertoriés par outil de ligne de commande SDK "android avd".

Je suppose qu'Android Studio, avec son AVD Manager interne, n'utilise pas le chemin modifié android.bat; il s'appuie sur la variable ANDROID_SDK_HOME pour localiser les AVD.

Mes propres tests ont montré que les outils Android utilisent correctement la variable ANDROID_SDK_HOME.

Par conséquent, il est inutile, pour autant que je sache, de modifier android.bat, et l'utilisation de la variable d'environnement devrait être préférée.

SR_
la source
3

Dans Windows 10, j'ai eu ce problème parce que mon lecteur C devenait plein et j'avais besoin d'espace libre, le dossier AVD avait 14 Go d'espace, donc j'avais besoin de déplacer ce dossier vers un autre pilote, la première réponse ne fonctionnait pas pour moi donc j'ai testé une autre façon de résoudre ce problème, je fais une image pour vous si vous avez le même problème, vous n'avez pas besoin de déplacer tous les fichiers du dossier .android vers un autre lecteur (cette façon ne fonctionne pas), déplacez simplement les dossiers avd dans .... android \ avd vers un autre lecteur et ouvrez les fichiers .ini et modifiez le chemin du dossier avd de ce fichier vers un nouveau chemin. Comme cette image:

l'image vous aide à voir comment changer l'ancien chemin en un nouveau chemin

J'espère que cela fonctionne pour vous.

Ali Yousefi
la source
1

Dans mon cas, ce qui m'inquiète, c'est l'espace disque du lecteur C:. Donc, ce que j'ai fait, c'est copier le dossier ".avd" (pas le fichier) sur un autre lecteur, et y laisser le fichier ".ini" mais le changer pour qu'il pointe vers le fichier déplacé

user829248
la source
1

Je pense que le moyen le plus simple est de déplacer le dossier avd du dossier C: \ Users [USER] .android vers l'emplacement souhaité, puis de créer un lien symbolique vers celui-ci dans C: \ Users [USER] .android avec le même nom.

Si vous vous demandez comment faire cela, installez d'abord Link Shell Extension . Après le mouvement du dossier, faites un clic droit dessus et sélectionnez Choisir la source du lien, puis cliquez avec le bouton droit dans le dossier .android et dans le sous-menu Déposer sous ... sélectionnez Lien symbolique .

Ali
la source
cela fonctionne et honnêtement, cela devrait être beaucoup plus élevé. De plus, vous pouvez créer un lien symbolique pour C:\Users\user\AppData\Local\Android\Sdk\system-images, cet endroit mange également beaucoup d'espace. vous n'avez pas besoin d'utiliser d'outils tiers, mklink /D system-images D:\path\to\system-imagesfonctionne très bien
écureuil
1

J'ai suivi https://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-location .

  1. Commencez à copier un dossier "C: \ Users \ user \ .android \ avd" vers "D: \ Android \ .android \ avd" (ou autre chose).

  2. Fermez Android Studio et exécutez des émulateurs.

  3. Appuyez sur Win + Breaket ouvrez Advanced System Settings. Appuyez ensuite sur Environment Variables. Ajoutez une variable utilisateur ANDROID_SDK_HOME. (Je n'ai pas expérimenté ANDROID_AVD_HOME.) Sur le Variable valueterrain, écrivez D:\Android. Si vous avez également déplacé le SDK vers un autre dossier, changez ANDROID_HOME(j'ai oublié de le changer et certains émulateurs ne se sont pas lancés, voir https://stackoverflow.com/a/57408085/2914140 ).

  4. Attendez que le dossier termine la copie et démarrez Android Studio.

  5. Ouvrez Android Virtual Device Manageret affichez une liste d'émulateurs. Si vous ne voyez pas d'émulateurs et qu'ils existaient, vous avez probablement entré un chemin erroné dans la valeur de la variable utilisateur à l'étape 3. Dans ce cas, fermez AS, modifiez la variable et ouvrez à nouveau AS.

  6. Démarrez n'importe quel émulateur. Il essaiera de restaurer son état, mais échouera parfois . Un écran noir peut apparaître à la place du fond d'écran Android.

  7. Dans ce cas, vous pouvez:

    une. Redémarrez votre émulateur. Pour ce faire, fermez l'émulateur en cours d'exécution, puis cliquez sur AVD Manager Cold Boot Now.

entrez la description de l'image ici

b. Si cela n'a pas aidé, ouvrez les paramètres de l'émulateur, trouvés dans le fichier "D: \ Android \ .android \ avd \ Pixel_API_27.ini".

entrez la description de l'image ici

Changez le chemin vers un nouveau dossier AVD. Redémarrez l'émulateur.

  1. Supprimez l'ancien dossier AVD de "C: \ Users \ user \ .android \ avd".
CoolMind
la source
0

ANDROID_SDK_HOME a également fonctionné pour moi sur Windows 8 x64, trouvez également tous les emplacements (dans mon cas, c'était d: \. Android) et supprimez-les. Vous n'en aurez plus besoin.

Alkasai
la source
0

Dans le gestionnaire AVD, après avoir configuré AVD à l'aide d'une cible avec Google APIs, une erreur en cours d'exécution se produisait.

Détail affiché: "AVD Unknown target 'Google Inc.:Google APIs: ......"

Lors de l'installation (sur le système Win7), j'avais choisi un emplacement de répertoire SDK, au lieu d'accepter, C:\Users\... j'avais ensuite ajouté ce répertoire à la variable d'environnement `` chemin '' Ligne de commande: les cibles de la liste Android ont montré quelques API Google.

La définition ANDROID_SDK_HOMEde mon chemin d'installation a corrigé l'erreur d'exécution avd.

user5803030
la source
0

Nom de la variable: ANDROID_SDK_HOME
Valeur de la variable: C: \ Users> Nom d'utilisateur

travaillé pour moi.

Buminda
la source
0

MacOs Obtenir un annuaire adv

./emulator -help-datadir

le répertoire par défaut est:

/Users/{your_computer_user_name}/.android

puis Allez dans le dossier avd, modifiez le fichier .ini avec le chemin d'accès à votre exemple de répertoire d'émulateur personnalisé:

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

puis enregistrez. Maintenant, votre émulateur a changé

entrez la description de l'image ici

Et résultat:

entrez la description de l'image ici

Tung Tran
la source
0

il y a 4 étapes majeures 1. copiez le dossier .android à l'emplacement souhaité comme je l'ai fait dans D:\Android\.android 2. définissez ANDROID_AVD_HOME dans des variables d'environnement comme ANDROID_AVD_HOME D:\Android\.android\avd 3. changez le contenu du fichier avd name.ini avec un nouvel emplacement comme 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. redémarrez android studio

Durgesh Kumar
la source
0

1 - Déplacer AVD vers un nouveau dossier

2 - Menu démarrer> Panneau de configuration> Système> Paramètres système avancés (à gauche)> Variables d'environnement Ajouter une nouvelle variable utilisateur: Nom de la variable: ANDROID_AVD_HOME Valeur de la variable: un chemin vers un répertoire de votre choix

3 - Changer le fichier .INI Définir un nouveau dossier.

4 - Ouvrez Android Studio

TRAVAUX - Windows 2010

PLUS D'INSTRUCTIONS: https://developer.android.com/studio/command-line/variables

utilisateur4062512
la source