Android 가상 기기가 저장된 위치를 변경할 수 있습니까?


185

Windows XP를 실행하는 컴퓨터에서 Android SDK 및 Eclipse를 설정 했으며 AVD (Android Virtual Devices)가 기본적 으로 "Documents and Settings \ user \ .android"에 저장됩니다 . 이 동작을 변경할 수있는 방법이 있습니까? 다른 모든 구성 요소를 별도의 파티션에있는 디렉토리에 저장했으며 모든 것을 통합하고 싶습니다. 분명히 큰 문제는 아니지만 여기에 대한 해결책을 아는 사람이 있습니까?


SSD보다 100 배 빠른 가상 RAM 디스크를 만들었으며이 디스크로 에뮬레이터 파일을 이동하면 에뮬레이터 로딩 속도가 매우 빨라집니다.
Vinigas

@Vinigas 정교하게 설명해 주시겠습니까? "100x RAM 디스크"에뮬레이터 속도를 높이고 싶습니다
Utsav Gupta

"SoftPerfect RAM 디스크"소프트웨어를 사용하여 가상 디스크를 만듭니다. 그런 다음 안드로이드 에뮬레이터 파일을이 RAM 디스크에 넣고 에뮬레이터 위치를 설정합니다. HDD가있는 경우 HDD와 RAM의 에뮬레이터간에 큰 차이가 있습니다.
Vinigas

답변:


246

새 사용자 환경 변수를 추가하십시오 (Windows 7).

  1. 시작 메뉴> 제어판> 시스템> 고급 시스템 설정 (왼쪽)> 환경 변수

  2. 홈 사용자 디렉토리를 가리키는 새 사용자 변수 (맨 위)를 추가하십시오.

    변수 이름 : ANDROID_SDK_HOME
    변수 값 : 선택한 디렉토리의 경로

AVD Manager는이 디렉토리를 사용하여 디렉토리를 저장 .android합니다.

관심이 있으신 분들을 위해 Android 개발에 대한 첫 진출에 대해 블로그를 작성했습니다 ...
Android "Hello World": 이야기의 비애

또는 Rapid Environment Editor 를 사용하여 환경 변수를 설정할 수 있습니다.


1
감사. 블로그 항목을 읽는 것은 오늘 처음 몇 시간 동안이 문제를 해결하는 것과 같습니다. 얼마나 아파요!
매트 Burland

6
정보 +1 하지만 xp를 사용하고 있습니다. 나를 위해 이것은 다시 시작한 후에 작동합니다. 감사합니다.
Gunaseelan

1
이 방법은 컴퓨터를 다시 시작할 때까지 작동합니다. Win7.
wangf

2
아니면 그냥 cmd를 입력하십시오setx ANDROID_SDK_HOME D:\your\path\here
Петър Петров

13
ANDROID_AVD_HOME 환경 변수는 ~ / .android에 저장된 사용자 특정 구성을 이동하지 않으므로 다른 사용자 / 배포에서 동일한 AVD를 사용할 수 있으므로 ANDROID_SDK_HOME보다 선호 될 수 있습니다. 리눅스 데비안에서 잘 작동했습니다.
John

24

"C : \ Documents and Settings {your windows login} .android \ avd \"에서 "virtual_android2.2.ini"파일을 수정하십시오.

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

"virtual_android2.2.avd"폴더를 "C : \ Documents and Settings {windows login} .android \ avd \"에서 "E : \ android_workspace \ avd \"로 이동하십시오.


이것은 나를 위해 일했다! 내가 생성하는 모든 에뮬레이터에 대해이 작업을 수행해야하므로 약간 어색합니다
Chucky

당신은 저를 저장 감사합니다!
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
받아 들인 대답은 그렇지 않지만 이것은 나를 위해 일했습니다. 또한 이것은 실제로 OP가 요청한 것에 응답합니다. 즉, 사용자 홈 디렉토리에서 다른 AVD 디렉토리로 변경하는 방법이었습니다.
Adam Burley

이 작업을 수행해서는 안됩니다! SDK Manager는 불평과 사용자 환경에서 새 폴더 위치 ... 사용 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 명령은 $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd / 및 $ HOME / .android / avd /의 값 순서로 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 파일로 경로를 변경해야합니다. 새 경로로 바꾸십시오.


1
이것이 답이되어야합니다. 감사합니다.
Ned

13

.android원하는 곳으로 이동하십시오 .

그런 다음 다음과 같이 심볼릭 링크를 만듭니다.

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

이것은 단순히 경로를 ~ /.android어떤 응용 프로그램이 참조 할 때마다 링크 한다고 Linux에 알려줍니다 /path/to/.android.


감사합니다 @ prakharsingh95
TonyMkenu

6

이것을 확인하십시오 . android명령을 사용하여 avd파일을 배치 할 위치를 지정할 수 있습니다.

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

설정 유틸리티를 통해이를 수행하고이를 특정 위치로 기본값으로 설정하는 방법을 알고 있습니까?
primehunter326

실제로는 아닙니다. 나는 심지어 창문을 사용하지 않습니다 :(
Macarse

내가 큰 문제는 아니라고 말했듯이 전체 SDK 패키지의 모듈 방식을 고려하여 더 제어 할 수있는 방법이 있다고 생각했습니다. 당신의 도움을 주셔서 감사합니다!
primehunter326


6

Windows 10의 Visual Studio 2017

복사 C:\Users\YOURUSERNAME\.android에 폴더 (예를 들어)E:\avd

환경 변수 창을여십시오.

  1. 설정으로 이동하여 시스템을 클릭하십시오.
  2. 왼쪽에서 정보를 클릭하고 하단에서 시스템 정보를 선택하십시오.
  3. 새 창에서 왼쪽의 고급 시스템 설정을 클릭하십시오.
  4. 결과 창 하단에서 환경 변수를 클릭하십시오.

새 변수를 추가하십시오.

  • 변수 이름 : ANDROID_SDK_HOME
  • 변수 값 : 디렉토리 경로 (예 E:\avd)

.android변수 값에 포함하지 마십시오 .

Visual Studio를 다시 시작하십시오.

SDK 및 NDK 위치를 변경하려면 다음으로 이동하십시오.

도구-> 옵션-> Xamarin-> Android 설정


4

새 AVD의 .ini 파일을 변경할 수 있습니다.

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

.ini 파일을 저장할 위치를 지정하는 방법을 모르겠습니다 :)


4

환경 변수 ANDROID_AVD_HOME는 AVD Manager가 AVD INI 파일을 찾아야하는 디렉토리를 정의하는 데 사용될 수 있으므로 가상 장치의 위치를 ​​변경하는 데 사용될 수 있습니다.

기본값은 %USERPROFILE%\.android\avdWindows (또는 ~/.android/avdLinux)입니다.

%USERPROFILE%\.androidWindows 에서 전체 디렉토리 에 대한 링크 (또는 ~/.androidLinux 에서 디렉토리 에 대한 sym-link)를 작성할 수도 있습니다 .

pathAVD를 이동할 때 AVD INI 파일 의 항목을 적절히 업데이트해야합니다.


이 ANDROID_AVD_HOME 환경 변수는 ~ / .android에 저장된 사용자 특정 구성을 이동하지 않기 때문에 ANDROID_SDK_HOME보다 선호 될 수 있습니다. 다른 사용자 / 배포에서도 동일한 AVD를 사용할 수 있기 때문입니다. Linux에서는 ANDROID_AVD_HOME을 ~ / .profile로 내보냈으며 제대로 작동합니다.
John

3

환경 변수를 엉망으로 만들지 않고 (특히 EC2를 사용하는 경우) ANDROID_SDK_HOME을 지정하는 또 다른 방법은 단순히 일식 바로 가기를 만들고 대상으로 다음을 추가하는 것입니다.

C : \ Windows \ System32 \ cmd.exe / C "setx ANDROID_SDK_HOME AVD 경로 / M 및 ECLIPSE.EXE 경로 "

이클립스를 시작할 때마다 ANDROID_SDK_HOME을 시스템 변수로 설정합니다.

HTH 폴


3

이전 답변에서 제안한대로 Android 도구 디렉토리에서 android.bat를 수정하면 문제가 발생할 수 있습니다.

그렇게하면 .android 디렉토리가 기본 위치가 아닌 다른 위치에 합법적으로 위치하게하려면 Android Studio에서 나열한 AVD ( "도구> Android> AVD 관리자"사용)와 다음에 나열된 AVD간에 불일치가있을 수 있습니다. SDK 명령 줄 도구 "android avd".

내부 AVD 관리자가있는 Android Studio가 android.bat 수정 경로를 사용하지 않는 것으로 가정합니다. ANDROID_SDK_HOME 변수를 사용하여 AVD를 찾습니다.

내 자신의 테스트에 따르면 Android 도구는 ANDROID_SDK_HOME 변수를 올바르게 사용합니다.

따라서 내가 아는 한 android.bat를 수정할 때 아무런 의미가 없으며 환경 변수를 사용하는 것이 좋습니다.


3

Windows 10에서 내 C 드라이브가 가득 차서 여유 공간이 필요했기 때문에 문제가 발생했습니다 .AVD 폴더에는 14 기가 공간이 있으므로 해당 폴더를 다른 드라이버로 이동해야합니다. 처음 대답이 작동하지 않으므로 다른 방법으로 테스트했습니다. 이 문제는 동일한 문제가 발생하면 그림을 만듭니다. .android 폴더의 모든 파일을 다른 드라이브로 옮길 필요가 없습니다 (이 방법으로 작동하지 않음) avd 폴더를 .... android \ avd로 이동하십시오. 다른 드라이브와 .ini 파일을 열고 avd 폴더 경로를 해당 파일에서 새 경로로 변경하십시오. 이 이미지처럼 :

이미지를 통해 기존 경로를 새 경로로 변경하는 방법을 확인할 수 있습니다.

나는 이것이 당신을 위해 작동하기를 바랍니다.


1

필자의 경우 C : 드라이브 디스크 공간입니다. 그래서 내가 한 것은 ".avd"폴더 (파일 아님)를 다른 드라이브에 복사하고 ".ini"파일을 그대로두고 이동 된 폴더를 가리 키도록 변경하는 것입니다


1

가장 쉬운 방법은 C : \ Users [USER] .android 폴더 에서 원하는 위치로 avd 폴더 를 이동 한 다음 동일한 이름 으로 C : \ Users [USER] .android에 기호 링크를 만드는 것입니다 .

이 작업을 수행하는 방법이 궁금하다면 먼저 Link Shell Extension을 설치하십시오 . 폴더 이동 후 마우스 오른쪽 버튼으로 클릭하고 링크 소스 선택을 선택한 다음 .android 폴더를 마우스 오른쪽 버튼으로 클릭하고 다른 이름 으로 삭제 ... 하위 메뉴에서 심볼릭 링크를 선택하십시오 .


이것은 작동하며 솔직히 훨씬 높아야합니다. 또한에 대한 기호 링크를 만들 수 있습니다. 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 관리자에서을 클릭하십시오 Cold Boot Now.

여기에 이미지 설명을 입력하십시오

비. 그래도 도움이되지 않으면 "D : \ Android \ .android \ avd \ Pixel_API_27.ini"파일에있는 에뮬레이터 설정을 엽니 다.

여기에 이미지 설명을 입력하십시오

새 AVD 폴더의 경로를 변경하십시오. 에뮬레이터를 다시 시작하십시오.

  1. "C : \ Users \ user \ .android \ avd"에서 오래된 AVD 폴더를 삭제하십시오.

0

ANDROID_SDK_HOME도 Windows 8 x64에서 나를 위해 일했습니다. 또한 모든 위치 (내 경우에는 d ​​: \. android)를 찾아 삭제하십시오. 더 이상 필요하지 않습니다.


0

AVD 관리자에서과 함께 대상을 사용하여 AVD를 설정 한 후 Google APIs실행시 오류가 발생했습니다.

세부 정보 : "AVD Unknown target 'Google Inc.:Google API : ......"

(Win7에 시스템)를 설치하는 동안 내가 대신 받아들이하는 SDK 디렉토리 위치를 선택했습니다 C:\Users\... 그때 환경 변수에 디렉토리 덧붙였다 것 '경로' : 명령 줄은 안드로이드 목록 목표는 구글의 API의 몇 가지를 보여 않았다.

ANDROID_SDK_HOME설치 경로를 설정 하면 DVD 실행 오류가 해결되었습니다.


0

변수 이름 : ANDROID_SDK_HOME
변수 값 : C : \ Users> User Name

나를 위해 일했다.


0

MacOs 디렉토리 adv 받기

./emulator -help-datadir

기본 디렉토리는 다음과 같습니다.

/Users/{your_computer_user_name}/.android

그런 다음 사용자 정의 에뮬레이터 디렉토리 경로가있는 avd 폴더 편집 .ini 파일로 이동하십시오.

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. 변경과 같은 새로운 위치에 name.ini 파일 내용을 AVD 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 다시 시작합니다 안드로이드 스튜디오


0

1-AVD를 새 폴더로 이동

2-시작 메뉴> 제어판> 시스템> 고급 시스템 설정 (왼쪽)> 환경 변수 새 사용자 변수 추가 : 변수 이름 : ANDROID_AVD_HOME 변수 값 : 선택한 디렉토리의 경로

3-파일 변경 .INI 새 폴더 설정.

4-오픈 안드로이드 스튜디오

작동-Windows 2010

추가 지침 : https://developer.android.com/studio/command-line/variables

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.