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.