환경 변수

환경 변수를 설정하여 Android 스튜디오 및 명령줄 도구의 동작을 구성할 수 있습니다. 설정할 수 있는 가장 유용한 환경 변수 중 하나는 ANDROID_HOME으로, 많은 도구에서 이를 읽고 Android SDK 설치 디렉터리를 결정합니다. 실행 파일의 전체 경로를 포함하지 않고 명령줄에서 도구를 실행하려면 ANDROID_HOME/tools, ANDROID_HOME/tools/bin, ANDROID_HOME/platform-tools를 포함하도록 명령어 검색 경로 환경 변수를 설정합니다.

환경 변수를 설정하는 방법

다음 예는 서로 다른 운영체제의 터미널 창과 셸 스크립트에서 환경 변수를 설정하는 방법을 보여줍니다. 터미널 창의 변수 설정은 창이 열려 있는 동안에만 지속됩니다. macOS 및 Linux에서는 새 셸이 시작될 때마다 변수 설정이 셸 초기화 스크립트에서 이루어집니다. Windows에서는 시스템 설정을 통해 변수 설정을 지정할 수 있습니다.

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

set HTTP_PROXY=myserver:1981

또는 Windows UI를 통해 추가합니다. 사용 중인 Windows 버전의 문서를 참고하여 방법을 알아보세요.

macOS 및 Linux: 환경 변수를 설정하는 정확한 방법은 사용하고 있는 셸에 따라 다릅니다. 실행되고 있는 셸 유형을 확인하려면 다음을 입력하세요.

echo $0

Gnu Bash 또는 Zsh와 같은 셸에서 변수는 다음 문법을 사용하여 설정됩니다.

export VARIABLE_NAME=<new-value>

TCSH와 같은 다른 셸에서는 변수가 다음 문법을 사용하여 설정됩니다.

setenv VARIABLE_NAME <new-value>

이러한 명령어를 셸 초기화 스크립트에 추가하여 새 셸 인스턴스가 실행될 때마다 변수를 설정할 수 있습니다.

셸 초기화 스크립트의 위치는 사용 중인 셸에 따라 다릅니다. Gnu Bash의 경우 위치는 ~/.bash_profile일 수 있습니다. Zsh의 경우 위치는 ~/.zprofile일 수 있습니다. TCSH의 경우 위치는 ~/.cshrc일 수 있습니다. 사용 중인 셸에 관한 문서를 참고하여 확인하세요.

도구 위치를 포함하도록 PATH 환경 변수를 업데이트할 수도 있습니다.

Gnu Bash 또는 Zsh:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
  

TCSH:

setenv ANDROID_HOME ~/Library/Android/sdk
setenv PATH $PATH\:$ANDROID_HOME/tools\:$ANDROID_HOME/tools/bin\:$ANDROID_HOME/platform-tools
  

변수 참조

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

표 1. 환경 변수

Android SDK 환경 변수
ANDROID_HOME SDK 설치 디렉터리의 경로를 설정합니다. 설정된 값은 일반적으로 변경되지 않으며, 동일한 시스템의 여러 사용자가 공유할 수 있습니다. 마찬가지로 SDK 설치 디렉터리를 가리키는 ANDROID_SDK_ROOT는 지원 중단됩니다. 계속 사용하면 Android 스튜디오와 Android Gradle 플러그인에서 이전 변수와 새 변수가 일치하는지 확인합니다.
ANDROID_USER_HOME Android SDK에 포함된 도구의 사용자 환경설정 디렉터리 경로를 설정합니다. 기본값은 $HOME/.android/입니다.

Android 스튜디오 4.3 이하와 같은 일부 이전 도구는 ANDROID_USER_HOME을 읽지 않습니다. 이러한 이전 도구의 사용자 환경설정 위치를 재정의하려면 ANDROID_SDK_HOME.android 디렉터리를 만들 상위 디렉터리로 설정하세요.

REPO_OS_OVERRIDE sdkmanager를 사용하여 현재 시스템과 다른 운영체제용 패키지를 다운로드할 경우 이 변수를 windows, macosx 또는 linux로 설정합니다.
Android 스튜디오 구성 환경 변수
Android 스튜디오 구성 변수에는 구성 파일 및 JDK의 위치를 맞춤설정하는 설정이 포함되어 있습니다. 시작할 때 Android 스튜디오는 이러한 변수의 설정을 확인합니다. 자세한 내용은 Android 스튜디오 구성을 참고하세요.
STUDIO_VM_OPTIONS studio.vmoptions 파일의 위치를 설정합니다. 이 파일에는 자바 핫스팟 가상 머신의 성능 특성에 영향을 주는 설정이 포함되어 있습니다. Android 스튜디오 내에서도 이 파일에 액세스할 수 있습니다. VM 옵션 맞춤설정을 참조하세요.
STUDIO_PROPERTIES idea.properties 파일의 위치를 설정합니다. 이 파일에서는 사용자가 설치한 플러그인의 경로, IDE가 지원하는 최대 파일 크기와 같은 Android 스튜디오 IDE 속성을 맞춤설정할 수 있습니다. IDE 속성 맞춤설정을 참고하세요.
STUDIO_JDK Android 스튜디오가 실행되는 JDK의 위치를 설정합니다. IDE를 실행하면 STUDIO_JDK, JDK_HOME, JAVA_HOME 환경 변수를 순서대로 점검합니다.
STUDIO_GRADLE_JDK Android 스튜디오가 Gradle 데몬을 시작하기 위해 사용하는 JDK의 위치를 설정합니다. IDE를 실행할 때 먼저 STUDIO_GRADLE_JDK를 확인합니다. STUDIO_GRADLE_JDK가 정의되어 있지 않으면 IDE에서는 프로젝트 구조 설정에 지정된 값을 사용합니다.
에뮬레이터 환경 변수
기본적으로 에뮬레이터는 구성 파일을 $HOME/.android/에 저장하고 AVD 데이터를 $HOME/.android/avd/에 저장합니다. 다음 환경 변수를 설정하여 기본값을 재정의할 수 있습니다. emulator -avd <avd_name> 명령어는 avd 디렉터리에서 $ANDROID_AVD_HOME, $ANDROID_USER_HOME/avd/$HOME/.android/avd/의 값을 순서대로 검색합니다.

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

ANDROID_EMULATOR_HOME 사용자별 에뮬레이터 구성 디렉터리의 경로를 설정합니다. 기본값은 $ANDROID_USER_HOME입니다.

Android 스튜디오 4.3 이하와 같은 이전 도구는 ANDROID_USER_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

이는 명령줄에서 에뮬레이터를 실행할 때 -http-proxy proxy 인수를 지정하는 것과 같습니다.

ANDROID_VERBOSE ANDROID_VERBOSE를 참고하세요.
ANDROID_HOME ANDROID_HOME을 참조하세요.
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 *:.

이는 명령줄에서 에뮬레이터를 실행할 때 -logcat tags 인수를 지정하는 것과 같습니다.

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

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

이는 명령줄에서 에뮬레이터를 실행할 때 -verbose -verbose-socket -verbose-radio 인수를 함께 지정하는 것과 같습니다.

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