Можливо змінити місце збереження віртуальних пристроїв Android?


185

Я встановив Android SDK та Eclipse на своїй машині з ОС Windows XP та AVD (віртуальні пристрої Android), за замовчуванням зберігається в "Документи та налаштування \ користувач \ .android". Чи є спосіб змінити таку поведінку? У мене всі інші компоненти збережені в каталозі на окремому розділі, і я хотів би, щоб все було консолідовано. Очевидно, що це не велика справа, але хтось тут знає вирішення цього питання?


Я зробив віртуальний диск оперативної пам’яті, який на 100 разів швидше, ніж SSD, і переміщення емуляторних файлів на цей диск дуже швидко прискорює завантаження емулятора.
Вінігас

@Vinigas Ви можете розробити будь-ласка, "диск оперативної пам'яті, який є 100x", я також хочу пришвидшити мій емулятор
Utsav Gupta

Для створення віртуального диска я використовую програмне забезпечення "SoftPerfect RAM disk". Потім я поміщаю файли емуляторів Android на цей RAM-диск і встановлюю емулятор. Якщо у вас є жорсткий диск, ви побачите велику різницю між емулятором на HDD і в оперативній пам'яті.
Вінігас

Зберегти питання: stackoverflow.com/questions/3109473 / ...
Saidolim

Відповіді:


246

Додайте нову змінну середовища користувача (Windows 7):

  1. Меню Пуск> Панель управління> Система> Додаткові параметри системи (зліва)> Змінні середовища

  2. Додайте нову змінну користувача (вгорі), яка вказує на ваш домашній каталог користувачів:

    Назва змінної: ANDROID_SDK_HOME
    Значення змінної: шлях до каталогу на ваш вибір

AVD Manager використовуватиме цей каталог для збереження .androidв ньому свого каталогу.

Для тих, хто, можливо, зацікавився, я порозмовляв про свій перший напад на розробку Android ...
Android "Hello World": Казка про горе

Крім того, ви можете використовувати редактор швидких середовищ для встановлення змінних середовища.


1
Дякую. Читання вашого запису в блозі було ніби переживати перші кілька днів сьогодні, займаючись цим питанням. Який біль!
Метт Берланд

6
+1 для вашої інформації. але я використовую xp. для мене це буде працювати після перезавантаження. Дякую.
Гунаселан

1
Цей підхід працює для мене, поки я не перезавантажую комп’ютер. Win7.
wangf

2
Або просто наберіть cmdsetx ANDROID_SDK_HOME D:\your\path\here
Петър Петров

13
Змінна середовища ANDROID_AVD_HOME може бути віддана перевазі ANDROID_SDK_HOME, оскільки це дозволяє уникнути переміщення будь-якого конкретного для користувача конфігурації, що зберігається в ~ / .android, щоб інші користувачі / дистрибутиви могли таким чином використовувати ті самі AVD. Гарно працював на Linux Debian.
Джон

24

Змініть файл "virtual_android2.2.ini" у "C: \ Документи та параметри {ваш логін для Windows} .android \ avd \":

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

І перемістіть папку "virtual_android2.2.avd" з "C: \ Документи та налаштування {ваш логін для Windows} .android \ avd \" у "E: \ android_workspace \ avd \".


Це працювало для мене! Трохи незграбно потрібно робити це для кожного емулятора, який я створюю
Чакі

Дякую, що врятували мене !!
shahana kareen

17

Перейдіть до каталогу інструментів Android. Відредагуйте командний файл 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
Це працювало для мене, поки прийнята відповідь не відповіла. Крім того, це фактично відповідає тому, що запитувала ОП, а саме: як змінити з домашнього каталогу користувача на інший каталог AVD, а не навпаки.
Адам Берлі

ЦЕ НЕ МОЖЕ ДАВАТИ! Менеджер SDK скаржиться на це, і він не знаходить нове розташування папок ... Використовуйте ANDROID_SDK_HOME в середовищі користувачів та перезавантажте комп'ютер може допомогти - [папка .android буде створена у% android_sdk_home%]
Davideas

16

На підставі офіційної документації https://developer.android.com/studio/command-line/variables.html слід змінити змінну середовища ANDROID_AVD_HOME :

Змінні середовища емулятора

За замовчуванням емулятор зберігає файли конфігурації під $ HOME / .android / та AVD в $ HOME / .android / avd /. Ви можете змінити значення за замовчуванням, встановивши наступні змінні середовища. Команда-емулятор -avd здійснює пошук у каталозі avd у порядку значень у $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd / та $ HOME / .android / avd /. Для довідки щодо змінної середовища емулятора введіть в командному рядку емулятор -help-середовище. Інформацію про параметри командного рядка емулятора див. У розділі Керування емулятором із командного рядка.

  • 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/ .

Це просто говорить Linux, що коли /.androidбудь-який додаток посилається на шлях ~ , посилайте його на /path/to/.android.


Дякую @ prakharsingh95
TonyMkenu

6

Перевірте це . за допомогою androidкоманди для створення avdви можете вказати, де розмістити файли.

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

Чи знаєте ви будь-яким способом це зробити за допомогою утиліти настройки та встановити її за замовчуванням для певного місця?
primehunter326

Не зовсім. Я навіть не використовую windows :(
Macarse

Ну як я сказав, що це не велика справа, я просто подумав, що існує якийсь спосіб контролювати це з урахуванням того, наскільки модульним є весь пакет SDK. Спасибі за вашу допомогу!
primehunter326


6

Для Visual Studio 2017 на Windows 10

Скопіюйте C:\Users\YOURUSERNAME\.androidпапку в (наприклад)E:\avd

Відкрийте вікно змінних середовища:

  1. Зайдіть у Налаштування та натисніть Система.
  2. Зліва натисніть About і виберіть Інформація про систему внизу.
  3. У новому вікні натисніть Розширені налаштування системи зліва.
  4. Клацніть Змінні середовища в нижній частині вікна, що випливає.

Додати нову змінну:

  • Назва змінної: ANDROID_SDK_HOME
  • Значення змінної: шлях до каталогу (наприклад E:\avd)

Не включайте .androidу значення змінної.

Перезапустіть Visual Studio.

Щоб змінити розташування SDK та NDK, перейдіть до:

Інструменти -> Параметри -> Xamarin -> Налаштування Android


4

Ви можете змінити .ini файл для нового AVD:

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

Я не знаю, як вказати, де слід зберігати .ini файл :)


4

Екологічна змінна ANDROID_AVD_HOMEможе використовуватися для визначення каталогу, в якому диспетчер AVD шукає файли AVD INI, і тому може бути використаний для зміни місця розташування віртуальних пристроїв;

Значення за замовчуванням знаходиться %USERPROFILE%\.android\avdв Windows (або ~/.android/avdв Linux).

Можна також створити посилання на весь каталог %USERPROFILE%\.androidу Windows (або sym-link для каталогу ~/.androidв Linux).

Під час переміщення AVD pathзаписів у файлі AVD INI необхідно відповідно оновити.


Цю змінну середовища ANDROID_AVD_HOME можна віддати перевагу ANDROID_SDK_HOME, оскільки це дозволяє уникнути переміщення будь-якої конфігурації користувача, що зберігається в ~ / .android, оскільки інші користувачі / дистрибутиви можуть використовувати ті самі AVD. На Linux я експортував ANDROID_AVD_HOME у своєму ~ / .profile, і це чудово працює.
Джон

3

Ще один спосіб вказати ANDROID_SDK_HOME, не возившись зі змінними середовища (особливо при використанні ec2) - просто створити ярлик затемнення і додати наступне в якості цілі

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

Це встановить ANDROID_SDK_HOME як системну змінну при кожному запуску затемнення.

HTH Пол


3

Зверніть увагу на таке: зміна android.bat в каталозі інструментів Android, як це запропоновано в попередній відповіді, може призвести до проблем.

Якщо ви це зробите, щоб законно розмістити каталог .android у невідповідному місці, можливо, може виникнути невідповідність між AVD, переліченими в Android Studio (використовуючи "Інструменти> Android> AVD Manager"), і AVD, переліченими інструмент командного рядка sdk "android avd".

Я припускаю, що Android Studio зі своїм внутрішнім диспетчером AVD не використовує модифікований шлях android.bat; він знаходить змінну ANDROID_SDK_HOME для пошуку AVD.

Мої власні тести показали, що інструменти Android правильно використовують змінну ANDROID_SDK_HOME.

Тому, наскільки мені відомо, немає сенсу змінювати android.bat і використовувати змінну середовища.


3

У Windows 10 у мене була ця проблема, тому що мій диск C заповнювався, і мені потрібен був вільний простір, у папці AVD було 14 гіга простору, тому мені потрібно було перемістити цю папку до іншого драйвера, перша відповідь не працює для мене, тому я перевірив інший спосіб виправити ця проблема, я малюю для вас, якщо у вас є та сама проблема, вам не потрібно переміщувати всі файли в папку .android на інший диск (таким чином не працює), просто перемістіть папки avd у .... android \ avd to інший диск та відкрийте .ini файли та змініть шлях папки avd з цього файлу на новий шлях. Подобається це зображення:

Зображення допоможе вам побачити, як змінюється старий шлях на новий

Сподіваюся, це працює для вас.


1

У моєму випадку, мене хвилювало це простір диска C: диск. Тому я скопіював папку ".avd" (не файл) на інший диск і залиште там файл ".ini", але змініть його, щоб вказати на переміщений


1

Я думаю, що найпростішим способом є переміщення папки avd із папки C: \ Users [USER] .android у потрібне місце, а потім створити символічне посилання на неї в C: \ Users [USER] .android з тим самим іменем.

Якщо вам цікаво, як це зробити, спочатку встановіть розширення Link Shell . Після переміщення папки клацніть правою кнопкою миші та виберіть Pick Link Source, а потім клацніть правою кнопкою миші в папці .android та в підменю Drop As ... виберіть Symbolic Link .


це працює і, чесно кажучи, воно повинно бути набагато вище. крім того, ви можете створити символічне посилання для того 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. У цьому випадку ви можете:

    а. Перезавантажте емулятор. Для цього закрийте запущений емулятор, потім натисніть в AVD Manager Cold Boot Now.

введіть тут опис зображення

б. Якщо це не допомогло, відкрийте настройки емулятора, знайдені у файлі "D: \ Android \ .android \ avd \ Pixel_API_27.ini".

введіть тут опис зображення

Змінення шляху до нової папки AVD. Перезавантажте емулятор.

  1. Видаліть стару папку AVD з "C: \ Users \ user \ .android \ avd".

0

ANDROID_SDK_HOME також працював для мене в Windows 8 x64, також знайдіть усе розташування (у моєму випадку це було d: \. Android) та видаліть його. Вам це більше не буде потрібно.


0

У диспетчері AVD, після налаштування AVD за допомогою цілі Google APIs, під час бігу сталася помилка.

Детально показано: "Невідома ціль AVD" Google Inc.: API Google: ...... "

Під час встановлення (у системі Win7) я вибрав місце розташування каталогу SDK, замість того, щоб прийняти, C:\Users\... я потім додав цей каталог до змінної середовища "Шлях" Командний рядок: цілі списку андроїдів показали пару Google apis.

Якщо ANDROID_SDK_HOMEвстановити шлях моєї установки, виправлена ​​помилка запуску avd.


0

Ім'я змінної: ANDROID_SDK_HOME
Значення змінної: C: \ Користувачі> Ім'я користувача

працював на мене.


0

MacOs Отримати каталог adv

./emulator -help-datadir

за замовчуванням каталог:

/Users/{your_computer_user_name}/.android

а потім перейдіть до редагування .ini файлу avd Folder із шляху до вашої власної приклади емулятора:

path = / Томи / 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 на нове місце, наприклад 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. перезапустити android studio


0

1 - Перемістіть AVD у нову папку

2 - меню Пуск> Панель управління> Система> Розширені налаштування системи (зліва)> Змінні середовища Додати нову змінну користувача: Ім'я змінної: ANDROID_AVD_HOME Значення змінної: шлях до вибраного каталогу

3 - Змінення файлу .INI Встановити нову папку.

4 - Відкрийте Android Studio

РОБОТИ - Windows 2010

БІЛЬШІ ІНСТРУКЦІЇ: https://developer.android.com/studio/command-line/variables

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.