환경 변수

SDK가 설치되는 위치와 사용자별 데이터가 저장되는 위치 등을 지정하는 명령줄 도구 및 Android 스튜디오의 환경 변수를 설정할 수 있습니다. 이 페이지에서는 가장 일반적으로 사용되는 환경 변수를 설명합니다.

다음 예제는 $USER_HOME 또는 $HOME의 기본 위치 대신 E:\Android\sdk\에 SDK가 설치된 경우 환경 변수를 사용하여 에뮬레이터를 시작하는 방법을 보여줍니다.

    $ set ANDROID_SDK_ROOT=E:\Android\sdk\
    $ emulator -avd Pixel_API_25
    

변수 참조

다음 표는 Android SDK 도구에 일반적으로 사용되는 환경 변수를 설명합니다.

표 1. 환경 변수

Android SDK 환경 변수
ANDROID_SDK_ROOT SDK 설치 디렉터리의 경로를 설정합니다. 설정된 값은 일반적으로 변경되지 않으며, 동일한 시스템의 여러 사용자가 공유할 수 있습니다. 역시 SDK 설치 디렉터리를 가리키는 ANDROID_HOME은 이제 지원이 중단됩니다. 계속 사용하는 경우 다음 규칙이 적용됩니다.
  • ANDROID_HOME이 정의되어 있고 유효한 SDK 설치가 포함되어 있으면 그 값이 ANDROID_SDK_ROOT의 값 대신 사용됩니다.
  • ANDROID_HOME이 정의되어 있지 않으면 ANDROID_SDK_ROOT의 값이 사용됩니다.
  • ANDROID_HOME이 정의되어 있지만 존재하지 않거나 유효한 SDK 설치가 포함되어 있지 않으면 ANDROID_SDK_ROOT의 값이 대신 사용됩니다.
REPO_OS_OVERRIDE sdkmanager를 사용하여 현재 머신과 다른 운영체제용 패키지를 다운로드할 경우 이 변수를 windows, macosx 또는 linux로 설정합니다.
Android 스튜디오 구성 환경 변수
Android 스튜디오 구성 변수에는 구성 파일 및 JDK의 위치를 맞춤설정하는 설정이 포함되어 있습니다. 시작할 때 Android 스튜디오는 이러한 변수의 설정을 확인합니다. 자세한 내용은 Android 스튜디오 구성을 참조하세요.
STUDIO_VM_OPTIONS studio.vmoptions 파일의 위치를 설정합니다. 이 파일에는 Java HotSpot Virtual Machine의 성능 특성에 영향을 주는 설정이 포함되어 있습니다. Android 스튜디오 내에서도 이 파일에 액세스할 수 있습니다. VM 옵션 맞춤설정을 참조하세요.
STUDIO_PROPERTIES idea.properties 파일의 위치를 설정합니다. 이 파일에서는 사용자가 설치한 플러그인 경로나 IDE가 지원하는 최대 파일 크기와 같은 Android 스튜디오 IDE 속성을 맞춤설정할 수 있습니다. IDE 속성 맞춤설정을 참조하세요.
STUDIO_JDK 스튜디오를 실행할 JDK의 위치를 설정합니다. Android 스튜디오는 시작 시 STUDIO_JDK, JDK_HOME, JAVA_HOME 환경 변수를 순서대로 점검합니다.
에뮬레이터 환경 변수
기본적으로 에뮬레이터는 구성 파일을 $HOME/.android/에 저장하고 AVD 데이터를 $HOME/.android/avd/에 저장합니다. 다음 환경 변수를 설정하여 기본값을 재정의할 수 있습니다. emulator -avd <avd_name> 명령어는 avd 디렉터리에서 $ANDROID_AVD_HOME, $ANDROID_SDK_HOME/.android/avd/, $HOME/.android/avd/의 값을 순서대로 검색합니다.

에뮬레이터 환경 변수 도움말을 보려면 명령줄에 emulator -help-environment를 입력합니다. emulator 명령줄 옵션에 관한 자세한 내용은 명령줄에서 에뮬레이터 제어를 참조하세요.

ANDROID_EMULATOR_HOME 사용자별 에뮬레이터 구성 디렉터리의 경로를 설정합니다. 기본 위치는 $ANDROID_SDK_HOME/.android/입니다.
ANDROID_AVD_HOME 모든 AVD 관련 파일(대부분 매우 큰 디스크 이미지로 구성됨)이 포함된 디렉터리의 경로를 설정합니다. 기본 위치는 $ANDROID_EMULATOR_HOME/avd/입니다. 기본 위치의 디스크 공간이 부족하면 새 위치를 지정할 수 있습니다.
Android 에뮬레이터는 시작 시 다음 환경 변수를 쿼리합니다.
ANDROID_LOG_TAGS ANDROID_LOG_TAGS를 참조하세요.
HTTP_PROXY 글로벌 http 프록시에 관한 HTTP/HTTPS 프록시(호스트 이름 및 포트) 설정을 포함합니다. 호스트와 포트 사이에 콜론(:) 구분 기호를 사용합니다. 예: set HTTP_PROXY=myserver:1981.
ANDROID_VERBOSE ANDROID_VERBOSE를 참조하세요.
ANDROID_EMULATOR_HOME ANDROID_EMULATOR_HOME을 참조하세요.
ANDROID_SDK_ROOT ANDROID_SDK_ROOT를 참조하세요.
ANDROID_EMULATOR_USE_SYSTEM_LIBS 0(기본값) 또는 1의 값을 포함합니다. 값 1은 에뮬레이터와 함께 제공되는 파일 대신 시스템의 libstdc++.so 파일을 사용함을 의미합니다. 시스템 라이브러리 문제로 인해 Linux 시스템에서 에뮬레이터가 시작되지 않는 경우에만 이 환경 변수를 설정하세요. 예를 들어 일부 Linux Radeon GL 드라이버 라이브러리에는 최신 libstdc++.so 파일이 필요합니다.
QEMU(Quick Emulator) 오디오
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV Linux에서 QEMU_AUDIO_DRV 환경 변수를 다음 값 중 하나로 설정하여 에뮬레이터의 기본 오디오 백엔드를 변경할 수 있습니다.
  • alsa: ALSA(Advanced Linux Sound Architecture) 백엔드 사용
  • esd: EsounD(Enlightened Sound Daemon) 백엔드 사용
  • sdl: SDL(Simple DirectMedia Layer) 오디오 백엔드 사용(오디오 입력 지원 안 됨)
  • oss: OSS(Open Sound System) 백엔드 사용
  • none: 오디오 지원하지 않음

    set QEMU_AUDIO_DRV=alsa
    

QEMU_AUDIO_OUT_DRVQEMU_AUDIO_IN_DRV 환경 변수에 관한 QEMU 값 중 하나를 선택하여 오디오 입력 및 오디오 출력을 위한 별도의 백엔드로 사용할 수 있습니다.


    set QEMU_AUDIO_OUT=esd
    set QEMU_AUDIO_IN=oss
    

오디오 지원을 사용 중지하려면 emulator -no-audio 옵션을 사용하거나 QEMU_AUDIO_DRVnone으로 설정합니다. 다음과 같은 상황에서는 오디오를 사용 중지해야 할 수 있습니다.

  • 드문 경우이지만 에뮬레이터가 실행되는 동안 오디오 드라이버로 인해 Windows가 재부팅될 수 있습니다.
  • 일부 Linux 시스템에서는 오디오 지원이 사용 설정된 상태에서 시작할 경우 에뮬레이터가 중단될 수 있습니다.
adb 환경 변수
ANDROID_SERIAL emulator-5555와 같은 에뮬레이터 일련번호를 adb 명령어에 제공하려면 이 변수를 사용합니다. 이 변수를 설정했지만 명령줄에서 -s 옵션을 사용하여 일련번호를 지정하면 ANDROID_SERIAL의 값이 재정의됩니다.

다음 예제는 ANDROID_SERIAL을 설정하고 adb install helloworld.apk를 호출하여 emulator-5555에 Android 애플리케이션 패키지를 설치합니다.


    set ANDROID_SERIAL=emulator-555
    adb install helloWorld.apk
    
adb logcat 환경 변수
ANDROID_LOG_TAGS 개발 컴퓨터에서 logcat을 실행할 때 기본 필터 식을 설정하려면 이 환경 변수를 사용합니다. 예:

    set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.
    

자세한 내용과 예제는 로그 출력 필터링을 참조하세요.

ADB_TRACE 로깅할 디버그 정보를 쉼표로 구분된 목록으로 포함합니다. 사용 가능한 값: all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp.

ADB 클라이언트와 ADB 서버의 ADB 로그를 표시하려면 ADB_TRACEall로 설정한 후 다음과 같이 adb logcat 명령어를 호출합니다.


    set ADB_TRACE=all
    adb logcat
    
ANDROID_VERBOSE 에뮬레이터에서 사용하는 자세한 출력 옵션(디버그 태그)을 쉼표로 구분된 목록으로 포함합니다. 다음 예제는 debug-socketdebug-radio 디버그 태그로 정의된 ANDROID_VERBOSE를 보여줍니다.

set ANDROID_VERBOSE=socket,radio

지원되지 않는 디버그 태그는 무시됩니다. 디버그 태그에 관한 자세한 내용은 emulator -help-debug-tags를 참조하세요.

환경 변수를 설정하는 방법

다음 예제는 다른 운영체제의 터미널 창과 쉘 스크립트에서 환경 변수를 설정하는 방법을 보여줍니다. 터미널 창의 변수 설정은 창이 열려 있는 한 지속됩니다. 쉘 스크립트의 변수 설정은 로그인 세션 전체에서 유지됩니다.

Windows: 터미널 창에서 다음을 입력합니다.

set HTTP_PROXY=myserver:1981

또는 Windows UI를 통해 쉘 스크립트에 추가합니다. 방법을 알아보려면 사용 중인 Windows 버전의 설명서를 확인하세요.

Mac 및 Linux: 터미널 창에서 다음을 입력합니다.

export HTTP_PROXY=myserver:1981

또는 이를 ~/.bash_profile 파일에 추가하고 다음과 같이 파일 소스를 지정합니다.

export HTTP_PROXY=myserver:1981
$ source ~/.bash_profile