Umgebungsvariablen

Sie können das Verhalten von Android Studio und der Befehlszeilentools durch Festlegen von Umgebungsvariablen konfigurieren. Eine der nützlichsten Umgebungsvariablen, die festgelegt werden sollten, ist ANDROID_HOME. Viele Tools lesen damit das Android SDK-Installationsverzeichnis. Wenn Sie Tools über die Befehlszeile ausführen möchten, ohne den vollständigen Pfad zur ausführbaren Datei anzugeben, legen Sie für die Umgebungsvariable für den Befehlssuchpfad ANDROID_HOME/tools, ANDROID_HOME/tools/bin und ANDROID_HOME/platform-tools fest.

Umgebungsvariablen festlegen

Die folgenden Beispiele zeigen, wie Umgebungsvariablen in einem Terminalfenster und in einem Shell-Skript für verschiedene Betriebssysteme festgelegt werden. Variableneinstellungen in Terminalfenstern gelten nur so lange, wie das Fenster geöffnet ist. Unter macOS und Linux werden bei jedem Start einer neuen Shell Variableneinstellungen in Shell-Initialisierungsskripts festgelegt. Unter Windows können Variableneinstellungen über die Systemeinstellungen festgelegt werden.

Windows: Geben Sie in einem Terminalfenster Folgendes ein:

set HTTP_PROXY=myserver:1981

Sie können ihn auch über die Windows-Benutzeroberfläche hinzufügen. Weitere Informationen dazu finden Sie in der Dokumentation zu Ihrer Windows-Version.

macOS und Linux:Die genaue Methode zum Festlegen von Umgebungsvariablen hängt von der verwendeten Shell ab. Geben Sie Folgendes ein, um zu ermitteln, welcher Shell-Typ ausgeführt wird:

echo $0

In Shells wie Gnu Bash oder Zsh werden Variablen mit der folgenden Syntax festgelegt:

export VARIABLE_NAME=<new-value>

In anderen Shells wie TCSH werden Variablen mit der folgenden Syntax festgelegt:

setenv VARIABLE_NAME <new-value>

Diese Befehle können dem Shell-Initialisierungsskript hinzugefügt werden, um die Variablen bei jeder Ausführung einer neuen Shell-Instanz festzulegen.

Der Speicherort des Shell-Initialisierungsskripts hängt von der verwendeten Shell ab. Für Gnu Bash kann der Standort ~/.bash_profile sein. Bei Zsh kann der Standort ~/.zprofile sein. Für TCSH kann der Standort ~/.cshrc sein. Weitere Informationen finden Sie in der Dokumentation der verwendeten Shell.

Sie können auch die Umgebungsvariable PATH so aktualisieren, dass die Speicherorte für das Tool enthalten sind.

Für Gnu Bash oder Zsh:

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

Und für TCSH:

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

Variablenreferenz

In der folgenden Tabelle werden häufig verwendete Umgebungsvariablen für die Android SDK-Tools beschrieben.

Tabelle 1 Umgebungsvariablen

Android SDK-Umgebungsvariablen
ANDROID_HOME Legt den Pfad zum SDK-Installationsverzeichnis fest. Einmal festgelegt, ändert sich der Wert in der Regel nicht und kann von mehreren Nutzern auf demselben Computer gemeinsam verwendet werden. ANDROID_SDK_ROOT, das auch auf das SDK-Installationsverzeichnis verweist, wurde eingestellt. Wenn Sie es weiterhin verwenden, prüfen Android Studio und das Android-Gradle-Plug-in, ob die alten und neuen Variablen einheitlich sind.
ANDROID_USER_HOME Legt den Pfad zum Nutzereinstellungsverzeichnis für Tools fest, die Teil des Android SDK sind. Die Standardeinstellung ist $HOME/.android/.

Bei einigen älteren Tools wie Android Studio 4.3 und früheren Versionen wird ANDROID_USER_HOME nicht gelesen. Wenn Sie den Speicherort der Nutzereinstellungen für diese älteren Tools überschreiben möchten, legen Sie für ANDROID_SDK_HOME das übergeordnete Verzeichnis fest, unter dem das Verzeichnis .android erstellt werden soll.

REPO_OS_OVERRIDE Setzen Sie diese Variable auf windows, macosx oder linux, wenn Sie sdkmanager verwenden, um Pakete für ein Betriebssystem herunterzuladen, das sich vom aktuellen Computer unterscheidet.
Umgebungsvariablen für die Android Studio-Konfiguration
Die Android Studio-Konfigurationsvariablen enthalten Einstellungen, mit denen der Speicherort der Konfigurationsdateien und des JDK angepasst wird. Beim Start prüft Android Studio diese Variablen auf Einstellungen. Weitere Informationen findest du unter Android Studio konfigurieren.
STUDIO_VM_OPTIONS Legt den Speicherort der Datei studio.vmoptions fest. Diese Datei enthält Einstellungen, die sich auf die Leistungsmerkmale der virtuellen Java HotSpot-Maschine auswirken. Sie können auch über Android Studio auf diese Datei zugreifen. Weitere Informationen finden Sie unter VM-Optionen anpassen.
STUDIO_PROPERTIES Legt den Speicherort der Datei idea.properties fest. Mit dieser Datei können Sie Eigenschaften der Android Studio IDE anpassen, z. B. den Pfad zu den vom Nutzer installierten Plug-ins und die maximale Dateigröße, die von der IDE unterstützt wird. Weitere Informationen finden Sie unter IDE-Eigenschaften anpassen.
STUDIO_JDK Legt den Speicherort des JDK fest, in dem Android Studio ausgeführt wird. Wenn Sie die IDE starten, werden die Umgebungsvariablen STUDIO_JDK, JDK_HOME und JAVA_HOME in dieser Reihenfolge geprüft.
STUDIO_GRADLE_JDK Legt den Speicherort des JDK fest, mit dem Android Studio den Gradle-Daemon startet. Wenn Sie die IDE starten, wird zuerst STUDIO_GRADLE_JDK geprüft. Wenn STUDIO_GRADLE_JDK nicht definiert ist, verwendet die IDE den Wert, der in den Einstellungen für die Projektstruktur festgelegt ist.
Emulator-Umgebungsvariablen
Standardmäßig speichert der Emulator die Konfigurationsdateien unter $HOME/.android/ und die AVD-Daten unter $HOME/.android/avd/. Sie können die Standardeinstellungen überschreiben, indem Sie die folgenden Umgebungsvariablen festlegen. Mit dem Befehl emulator -avd <avd_name> wird das Verzeichnis avd in der Reihenfolge der Werte in $ANDROID_AVD_HOME, $ANDROID_USER_HOME/avd/ und $HOME/.android/avd/ durchsucht.

Geben Sie in der Befehlszeile emulator -help-environment ein, um die Hilfe zu den Emulator-Umgebungsvariablen zu erhalten. Informationen zu emulator-Befehlszeilenoptionen finden Sie unter Emulator über die Befehlszeile starten.

ANDROID_EMULATOR_HOME Legt den Pfad zum nutzerspezifischen Konfigurationsverzeichnis des Emulators fest. Die Standardeinstellung ist $ANDROID_USER_HOME.

Ältere Tools wie Android Studio 4.3 und frühere Versionen können ANDROID_USER_HOME nicht lesen. Bei diesen Tools ist der Standardwert $ANDROID_SDK_HOME/.android.

ANDROID_AVD_HOME Legt den Pfad zu dem Verzeichnis fest, das alle AVD-spezifischen Dateien enthält, die größtenteils aus sehr großen Laufwerk-Images bestehen. Der Standardspeicherort ist $ANDROID_EMULATOR_HOME/avd/. Sie können einen neuen Speicherort angeben, wenn der Standardspeicherort wenig freien Speicherplatz hat.
Der Android Emulator fragt beim Start die folgenden Umgebungsvariablen ab:
ANDROID_LOG_TAGS Weitere Informationen finden Sie unter ANDROID_LOG_TAGS.
HTTP_PROXY

Enthält die HTTP-/HTTPS-Proxy-Einstellung für einen globalen HTTP-Proxy. Verwendet ein Doppelpunkt-Trennzeichen (:) zwischen Host und Port. Beispiel: set HTTP_PROXY=myserver:1981.

Dies entspricht der Angabe des Arguments -http-proxy proxy beim Ausführen des Emulators über die Befehlszeile.

ANDROID_VERBOSE Weitere Informationen finden Sie unter ANDROID_VERBOSE.
ANDROID_HOME Weitere Informationen finden Sie unter ANDROID_HOME.
ANDROID_EMULATOR_USE_SYSTEM_LIBS Enthält den Wert „0“ (Standardeinstellung) oder „1“. Ein Wert von „1“ bedeutet, dass die libstdc++.so-Datei des Systems anstelle der im Emulator gebündelten Datei verwendet wird. Legen Sie diese Umgebungsvariable nur fest, wenn der Emulator aufgrund eines Problems mit der Systembibliothek nicht auf Ihrem Linux-System startet. Einige Linux Radeon GL-Treiberbibliotheken erfordern beispielsweise eine neuere libstdc++.so-Datei.
Quick Emulator (QEMU) für Audio
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV Unter Linux können Sie das Standard-Audio-Back-End des Emulators ändern, indem Sie die Umgebungsvariable QEMU_AUDIO_DRV auf einen der folgenden Werte setzen:
  • alsa: ALSA-Back-End (Advanced Linux Sound Architecture) verwenden
  • esd: Back-End von Enlightened Sound Daemon (EsounD) verwenden
  • sdl: SDL-Audio-Back-End (Simple DirectMedia Layer) verwenden (keine Audioeingabe unterstützt)
  • oss:: OSS-Back-End (Open Sound System) verwenden
  • none:: Audio wird nicht unterstützt
set QEMU_AUDIO_DRV=alsa

Sie können auch unterschiedliche Back-Ends für die Audioeingabe und -ausgabe verwenden. Wählen Sie dazu einen der QEMU-Werte für die Umgebungsvariablen QEMU_AUDIO_OUT_DRV und QEMU_AUDIO_IN_DRV aus:

set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

Wenn Sie die Audiounterstützung deaktivieren möchten, verwenden Sie die Option emulator -no-audio oder setzen Sie QEMU_AUDIO_DRV auf none. In den folgenden Situationen müssen Sie den Ton möglicherweise deaktivieren:

  • In seltenen Fällen können Audiotreiber dazu führen, dass Windows neu gestartet wird, während der Emulator ausgeführt wird.
  • Auf einigen Linux-Computern bleibt der Emulator beim Start hängen, wenn die Audiounterstützung aktiviert ist.
ADB-Umgebungsvariablen
ANDROID_SERIAL Verwenden Sie diese Variable, um die Seriennummer eines Emulators, z. B. emulator-5555, für einen adb-Befehl anzugeben. Wenn Sie diese Variable festlegen, aber mit der Option -s eine Seriennummer über die Befehlszeile angeben, überschreibt die Befehlszeileneingabe den Wert in ANDROID_SERIAL.

Im folgenden Beispiel wird ANDROID_SERIAL festgelegt und adb install helloworld.apk aufgerufen. Anschließend wird das Android-Anwendungspaket auf Emulator-5555 installiert.

set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk

ADB-Logcat-Umgebungsvariablen
ANDROID_LOG_TAGS Verwenden Sie diese Umgebungsvariable, um einen Standardfilterausdruck festzulegen, wenn Sie logcat auf Ihrem Entwicklungscomputer ausführen. Beispiel:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.

Dies entspricht der Angabe des Arguments -logcat tags beim Ausführen des Emulators über die Befehlszeile.

Weitere Informationen und Beispiele finden Sie unter Logausgabe filtern.

ADB_TRACE Enthält eine durch Kommas getrennte Liste der zu protokollierenden Informationen zur Fehlerbehebung. Mögliche Werte sind all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport und jdwp.

Zum Anzeigen der adb-Logs für die adb-Clients und den adb-Server setzen Sie ADB_TRACE auf all und rufen dann den Befehl adb logcat auf:

set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE Enthält eine durch Kommas getrennte Liste ausführlicher Ausgabeoptionen (Debug-Tags), die vom Emulator verwendet werden. Im folgenden Beispiel sehen Sie ANDROID_VERBOSE, das mit den Fehlerbehebungs-Tags debug-socket und debug-radio definiert wurde:
set ANDROID_VERBOSE=socket,radio

Dies entspricht der gemeinsamen Angabe der -verbose -verbose-socket -verbose-radio-Argumente, wenn der Emulator über die Befehlszeile ausgeführt wird.

Nicht unterstützte Tags zur Fehlerbehebung werden ignoriert. Weitere Informationen zu Tags zur Fehlerbehebung erhalten Sie mit emulator -help-debug-tags.