Можно ли изменить место хранения виртуальных устройств Android?
Я установил Android SDK и Eclipse на своем компьютере под управлением Windows XP, и AVD (виртуальные устройства Android) по умолчанию сохраняются в "Documents and Settings \user\.android". Есть ли способ изменить это поведение? У меня есть все остальные компоненты, сохраненные в каталоге на отдельном разделе, и я хотел бы, чтобы все было консолидировано. Очевидно, что это не так уж важно, но кто-нибудь здесь знает обходной путь для этого?
22 ответа
Добавьте новую переменную среды пользователя (Windows 7):
- Пуск> Панель управления> Система> Расширенные настройки системы (слева) > Переменные среды
- Добавьте новую переменную пользователя (вверху), которая указывает ваш домашний каталог пользователя:
Имя переменной: 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
Откройте окно переменных среды:
- Зайдите в Настройки и нажмите Система.
- Слева нажмите "О программе" и выберите "Информация о системе" внизу.
- В новом окне нажмите Расширенные настройки системы слева.
- Нажмите Переменные среды в нижней части окна.
Добавьте новую переменную:
- Имя переменной:
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\.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
В моем случае меня беспокоит дисковое пространство 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.
- Начните копировать папку "C:\Users\user\.android\avd" в "D:\Android\.android\avd" (или что-то еще).
- Закройте Android Studio и запустите эмуляторы.
- Нажмите
Win + Break
и открытьAdvanced System Settings
, Затем нажмитеEnvironment Variables
, Добавить переменную пользователяANDROID_SDK_HOME
, (Я не экспериментировал сANDROID_AVD_HOME
.) ВVariable value
поле записиD:\Android
, - Дождитесь окончания копирования папки и запустите Android Studio.
- открыто
Android Virtual Device Manager
и увидеть список эмуляторов. Если вы не видите эмуляторов и они существуют, то, возможно, вы ввели неверный путь в значение пользовательской переменной на шаге 3. В этом случае закройте AS, измените переменную и снова откройте AS. - Запустите любой эмулятор. Он попытается восстановить свое состояние, но иногда это не удается. Вместо обоев Android может появиться черный экран.
В этом случае вы можете:
а. Перезапустите свой эмулятор. Для этого закройте запущенный эмулятор, затем в AVD Manager нажмите
Cold Boot Now
,
б. Если это не помогло, откройте настройки эмулятора, найденные в файле "D:\Android\.android\avd\Pixel_API_27.ini".
Измените путь к новой папке AVD. Перезапустите эмулятор.
- Удалите старую папку 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.