Можно ли изменить место хранения виртуальных устройств Android?

Я установил Android SDK и Eclipse на своем компьютере под управлением Windows XP, и AVD (виртуальные устройства Android) по умолчанию сохраняются в "Documents and Settings \user\.android". Есть ли способ изменить это поведение? У меня есть все остальные компоненты, сохраненные в каталоге на отдельном разделе, и я хотел бы, чтобы все было консолидировано. Очевидно, что это не так уж важно, но кто-нибудь здесь знает обходной путь для этого?

22 ответа

Решение

Добавьте новую переменную среды пользователя (Windows 7):

  1. Пуск> Панель управления> Система> Расширенные настройки системы (слева) > Переменные среды

  2. Добавьте новую переменную пользователя (вверху), которая указывает ваш домашний каталог пользователя:

    Имя переменной: ANDROID_SDK_HOME
    Значение переменной: путь к каталогу по вашему выбору

AVD Manager будет использовать этот каталог для сохранения .android каталог в него.

Для тех, кто может быть заинтересован, я написал в блоге о своем первом набеге на разработку Android...
Android "Hello World": сказка о горе

Кроме того, вы можете использовать Rapid Environment Editor для установки переменных среды.

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

Переменные среды эмулятора

По умолчанию эмулятор хранит файлы конфигурации в $HOME/.android/ и данные AVD в $HOME/.android/avd/. Вы можете переопределить значения по умолчанию, установив следующие переменные среды. Команда emulator -avd ищет каталог avd в порядке значений в $ANDROID_AVD_HOME, $ANDROID_SDK_HOME/.android/avd/ и $HOME/.android/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-файл каждого эмулятора, просто замените его новым путем

Измените файл "virtual_android2.2.ini" в "C:\Documents and Settings{ваша учетная запись Windows}.android\avd\":

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

И переместите папку "virtual_android2.2.avd" из "C:\Documents and Settings{ваш вход в Windows}.android \ avd \" в "E:\android_workspace\avd\".

Переместить ваш .android туда, куда вы хотите.

Затем создайте символическую ссылку следующим образом:

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

Это просто говорит Linux, что всякий раз, когда путь ~/.android ссылка на любое приложение, ссылка на него /path/to/.android,

Перейдите в каталог инструментов 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"

Для Visual Studio 2017 на Windows 10

копия C:\Users\YOURUSERNAME\.android папка для (например) E:\avd

Откройте окно переменных среды:

  1. Зайдите в Настройки и нажмите Система.
  2. Слева нажмите "О программе" и выберите "Информация о системе" внизу.
  3. В новом окне нажмите Расширенные настройки системы слева.
  4. Нажмите Переменные среды в нижней части окна.

Добавьте новую переменную:

  • Имя переменной: ANDROID_SDK_HOME
  • Значение переменной: путь к каталогу (например, E:\avd)

Не включать .android в значение переменной.

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

Для изменения местоположения SDK и NDK перейдите по ссылке:

Сервис -> Параметры -> Xamarin -> Настройки Android

В Windows 10 у меня была такая проблема, потому что мой диск C был заполнен, и мне требовалось свободное место, в папке AVD было 14 гигабайт пространства, поэтому мне нужно было переместить эту папку в другой драйвер, первый ответ не работает для меня, поэтому я протестировал другой способ исправить Эта проблема, я делаю снимок для вас, если у вас есть та же проблема, вам не нужно перемещать все файлы в папке.android на другой диск (этот способ не работает), просто переместите папки avd в....android\avd в другой диск и откройте INI-файлы и измените путь к папке AVD из этого файла на новый путь. Понравилось это изображение:

изображение поможет вам увидеть, как изменить старый путь на новый путь

Надеюсь, это работает для вас.

Вы можете изменить INI-файл для нового AVD:

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

Я не знаю, как указать, где файл.ini должен храниться:)

Проверьте это. с использованием android command to create avd you can specify where to place files.

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

Экологическая переменная ANDROID_AVD_HOME может использоваться для определения каталога, в котором AVD Manager будет искать INI-файлы AVD, и, следовательно, может использоваться для изменения местоположения виртуальных устройств;

Значением по умолчанию является %USERPROFILE%\.android\avd в Windows (или ~/.android/avd в Linux).

Также можно создать ссылку на весь каталог %USERPROFILE%\.android в Windows (или символическая ссылка для каталога ~/.android в Linux).

При перемещении AVD, path запись в файле AVD INI должна быть обновлена ​​соответствующим образом.

Есть основные 4 шага 1. скопируйте папку.android в желаемое место, как я сделал в D:\Android\.android2. установите ANDROID_AVD_HOME в переменных среды, например ANDROID_AVD_HOME D:\Android\.android\avd3. измените содержимое файла 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-294. перезапустить студию Android

В моем случае меня беспокоит дисковое пространство C:. Поэтому я скопировал папку ".avd" (не файл) на другой диск и оставил там файл ".ini", но изменил его так, чтобы он указывал на перемещенный файл.

Другой способ указать ANDROID_SDK_HOME без возни с переменными среды (особенно при использовании ec2) - просто создать ярлык затмения и добавить следующее в качестве цели

C:\Windows\System32\cmd.exe /C "setx ANDROID_SDK_HOME ВАША ПУТЬ AVD /M & ВАША ПУТЬ ECLIPSE.EXE"

Это установит ANDROID_SDK_HOME в качестве системной переменной при каждом запуске eclipse.

HTH Пол

Обратите внимание на следующее: изменение файла android.bat в каталоге инструментов Android, как предложено в предыдущем ответе, может привести к проблемам.

Если вы сделаете это, для того, чтобы ваш каталог.android на законных основаниях находился в месте, отличном от местоположения по умолчанию, возможно, имеется несоответствие между AVD, перечисленными в Android Studio (с помощью "Инструменты> Android > AVD Manager"), и AVD, перечисленными в инструмент командной строки SDK "Android AVD".

Я полагаю, что Android Studio со своим внутренним AVD Manager не использует модифицированный путь android.bat; он использует переменную ANDROID_SDK_HOME для поиска AVD.

Мои собственные тесты показали, что инструменты Android правильно используют переменную ANDROID_SDK_HOME.

Поэтому, насколько я знаю, нет смысла изменять android.bat, и использование переменной окружения должно быть предпочтительным.

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

2 - меню "Пуск"> Панель управления> Система> Расширенные настройки системы (слева) > Переменные среды. Добавьте новую пользовательскую переменную: Имя переменной: ANDROID_AVD_HOME Значение переменной: путь к выбранному вами каталогу.

3 - Измените файл.INI Установите новую папку.

4 - Откройте Android Studio

РАБОТАЕТ - Windows 2010

БОЛЬШЕ ИНСТРУКЦИЙ: https://developer.android.com/studio/command-line/variables

Я следовал за 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,
  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".

Для Windows 10: ANDROID_SDK_HOME

эта ссылка мне помогла.

Затем просто переместили все содержимое " avd"в новое место. Теперь вам может потребоваться изменить значение" path=" в configuration Settingфайл каждого avds в новое место. Вы можете увидеть старые avds в avd manager в Android Studio, и они работают.

Я думаю, что самый простой способ - это переместить папку avd из папки C:\Users[USER].android в нужное место, а затем создать символическую ссылку на нее в C:\Users[USER].android с тем же именем.

Если вам интересно, как это сделать, сначала установите Link Shell Extension. После перемещения папки щелкните ее правой кнопкой мыши и выберите "Выбрать источник ссылки", затем щелкните правой кнопкой мыши в папке ".android" и в подменю "Удалить как" выберите " Символическая ссылка".

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

MacOs Получить справочник каталогов

./emulator -help-datadir

каталог по умолчанию:

/Users/{your_computer_user_name}/.android

а затем перейдите в папку avd и отредактируйте INI-файл, указав путь к вашему каталогу эмулятора:

путь =/ тома /Macintos/_emulatorandroid/avd/Nexus_5X_API_27.avd path.rel=avd/Nexus_5X_API_27.avd target=android-27

а затем сохранить. Теперь ваш эмулятор изменился

И результат:

Имя переменной: ANDROID_SDK_HOME
Значение переменной: C:\Users> Имя пользователя

работал на меня.

В диспетчере AVD, после настройки AVD, используя цель с Google APIsНа ходу получала ошибку.

Деталь показала: "AVD Неизвестная цель" Google Inc.: API Google:...... "

Во время установки (в системе Win7) я выбрал расположение каталога SDK вместо того, чтобы принять C:\Users\...Затем я добавил этот каталог в переменную окружения 'path'. Командная строка: целевые списки андроидов отображали пару API Google.

настройка ANDROID_SDK_HOME в моем пути установки исправлена ​​ошибка запуска AVD.

Другие вопросы по тегам