Umgebungsvariablen

Sie können das Verhalten von Android Studio und den Befehlszeilentools konfigurieren, indem Sie Umgebungsvariablen festlegen. Eine der nützlichsten Umgebungsvariablen ist ANDROID_HOME, die von vielen Tools gelesen wird, um das Installationsverzeichnis des Android SDK zu ermitteln. Wenn Sie Tools über die Befehlszeile ausführen möchten, ohne den vollständigen Pfad zur ausführbaren Datei anzugeben, legen Sie die Umgebungsvariable für den Befehlssuchpfad so fest, dass sie ANDROID_HOME/tools, ANDROID_HOME/tools/bin und ANDROID_HOME/platform-tools enthält.

Umgebungsvariablen festlegen

In den folgenden Beispielen wird gezeigt, wie Sie Umgebungsvariablen in einem Terminalfenster und in einem Shell-Skript für verschiedene Betriebssysteme festlegen. Variableneinstellungen in Terminalfenstern bleiben nur so lange erhalten, 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

Alternativ können Sie sie über die Windows-Benutzeroberfläche hinzufügen. Informationen dazu finden Sie in der Dokumentation für Ihre Windows-Version.

macOS und Linux:Die genaue Methode zum Festlegen von Umgebungsvariablen hängt davon ab, welche Shell Sie verwenden. Geben Sie Folgendes ein, um den Shell-Typ zu ermitteln, der 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 jedes Mal festzulegen, wenn eine neue Shell-Instanz ausgeführt wird.

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

Sie können auch die Umgebungsvariable PATH aktualisieren, um die Speicherorte der Tools einzuschließen.

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
  

Für TCSH:

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

Referenz zu Variablen

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. Nachdem der Wert festgelegt wurde, ändert er sich in der Regel nicht mehr und kann von mehreren Nutzern auf demselben Computer verwendet werden. ANDROID_SDK_ROOT, das auch auf das SDK-Installationsverzeichnis verweist, ist veraltet. Wenn Sie sie weiterhin verwenden, prüfen Android Studio und das Android Gradle-Plug-in, ob die alten und neuen Variablen konsistent sind.
ANDROID_USER_HOME Legt den Pfad zum Verzeichnis mit den Nutzereinstellungen für Tools fest, die Teil des Android SDK sind. Die Standardeinstellung ist $HOME/.android/.

Einige ältere Tools wie Android Studio 4.3 und früher lesen ANDROID_USER_HOME nicht. Wenn Sie den Speicherort der Nutzerpräferenzen für diese älteren Tools überschreiben möchten, legen Sie ANDROID_SDK_HOME auf das übergeordnete Verzeichnis fest, in dem das Verzeichnis .android erstellt werden soll.

REPO_OS_OVERRIDE Legen Sie diese Variable auf windows, macosx oder linux fest, wenn Sie sdkmanager verwenden, um Pakete für ein Betriebssystem herunterzuladen, das sich vom Betriebssystem des aktuellen Computers unterscheidet.
Android Studio-Konfigurationsumgebungsvariablen
Die Android Studio-Konfigurationsvariablen enthalten Einstellungen, mit denen der Speicherort von Konfigurationsdateien und des JDK angepasst wird. Beim Start prüft Android Studio diese Variablen auf Einstellungen. Weitere Informationen finden Sie unter Android Studio konfigurieren.
STUDIO_VM_OPTIONS Legt den Speicherort der studio.vmoptions-Datei fest. Diese Datei enthält Einstellungen, die sich auf die Leistungsmerkmale der Java HotSpot Virtual Machine 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 Android Studio-IDE-Eigenschaften anpassen, z. B. den Pfad zu 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. Beim Starten der IDE werden die Umgebungsvariablen STUDIO_JDK, JDK_HOME und JAVA_HOME in dieser Reihenfolge geprüft.
STUDIO_GRADLE_JDK Legt den Speicherort des JDK fest, das Android Studio zum Starten des Gradle-Daemons verwendet. Wenn Sie die IDE starten, wird zuerst STUDIO_GRADLE_JDK geprüft. Wenn STUDIO_GRADLE_JDK nicht definiert ist, verwendet die IDE den in den Einstellungen für die Projektstruktur festgelegten Wert.
Emulatoren-Umgebungsvariablen
Standardmäßig speichert der Emulator Konfigurationsdateien unter $HOME/.android/ und AVD-Daten unter $HOME/.android/avd/. Sie können die Standardwerte ü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.

Wenn Sie Hilfe zu Umgebungsvariablen für den Emulator benötigen, geben Sie emulator -help-environment in der Befehlszeile ein. Informationen zu den emulator-Befehlszeilenoptionen finden Sie unter Emulator über die Befehlszeile starten.

ANDROID_EMULATOR_HOME Legt den Pfad zum nutzerspezifischen Verzeichnis für die Emulatorkonfiguration fest. Die Standardeinstellung ist $ANDROID_USER_HOME.

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

ANDROID_AVD_HOME Legt den Pfad zum Verzeichnis fest, das alle AVD-spezifischen Dateien enthält. Diese bestehen hauptsächlich aus sehr großen Datenträger-Images. Der Standardspeicherort ist $ANDROID_EMULATOR_HOME/avd/. Möglicherweise möchten Sie einen neuen Speicherort angeben, wenn der Standardspeicherort wenig 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 einen Doppelpunkt (:) als Trennzeichen zwischen dem Host und dem 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“ (Standard) oder „1“. Ein Wert von 1 bedeutet, dass die libstdc++.so-Datei des Systems anstelle der Datei verwendet wird, die im Emulator enthalten ist. Legen Sie diese Umgebungsvariable nur fest, wenn der Emulator auf Ihrem Linux-System aufgrund eines Problems mit einer Systembibliothek nicht startet. Für einige Linux Radeon GL-Treiberbibliotheken ist beispielsweise eine neuere libstdc++.so-Datei erforderlich.
Audio für Quick Emulator (QEMU)
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV Unter Linux können Sie das Standard-Audio-Backend des Emulators ändern, indem Sie die Umgebungsvariable QEMU_AUDIO_DRV auf einen der folgenden Werte festlegen:
  • alsa: ALSA-Backend (Advanced Linux Sound Architecture) verwenden
  • esd: Das EsounD-Backend (Enlightened Sound Daemon) verwenden
  • sdl: Das SDL-Audio-Backend (Simple DirectMedia Layer) verwenden (keine Audioeingabe unterstützt)
  • oss:: Das Open Sound System (OSS) als Backend verwenden
  • none:: Audio wird nicht unterstützt
set QEMU_AUDIO_DRV=alsa

Sie können auch separate Back-Ends für Audioeingabe und ‑ausgabe verwenden, indem Sie einen der QEMU-Werte für die Umgebungsvariablen QEMU_AUDIO_OUT_DRV und QEMU_AUDIO_IN_DRV auswählen:

set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

Wenn Sie die Audio-Unterstü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 möglicherweise die Audioausgabe 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 kann es vorkommen, dass der Emulator beim Start hängen bleibt, wenn die Audio-Unterstützung aktiviert ist.
adb-Umgebungsvariablen
ANDROID_SERIAL Mit dieser Variablen können Sie eine Emulator-Seriennummer, z. B. „emulator-5555“, für einen adb-Befehl angeben. Wenn Sie diese Variable festlegen, aber mit der Option -s eine Seriennummer über die Befehlszeile angeben, wird der Wert in ANDROID_SERIAL durch die Befehlszeileneingabe überschrieben.

Im folgenden Beispiel wird ANDROID_SERIAL festgelegt und adb install helloworld.apk aufgerufen, wodurch das Android-Anwendungspaket auf emulator-5555 installiert wird.

set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk
adb logcat-Umgebungsvariablen
ANDROID_LOG_TAGS Mit dieser Umgebungsvariable können Sie einen Standardfilterausdruck festlegen, wenn Sie adb logcat auf Ihrem Entwicklercomputer ausführen. Beispiel:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:S

Der Filterausdruck verwendet dieselbe Syntax wie die Emulatoroption -logcat tags.

Weitere Informationen und Beispiele finden Sie unter Protokollausgabe filtern.

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

Wenn Sie die adb-Logs für die adb-Clients und den adb-Server aufrufen möchten, legen Sie ADB_TRACE auf all fest und rufen Sie dann den Befehl adb logcat auf:

set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE Enthält eine durch Kommas getrennte Liste der vom Emulator verwendeten Optionen für die ausführliche Ausgabe (Debug-Tags). Im folgenden Beispiel wird ANDROID_VERBOSE mit den Debug-Tags debug-socket und debug-radio definiert:
set ANDROID_VERBOSE=socket,radio

Das entspricht der Angabe der -verbose -verbose-socket -verbose-radio-Argumente zusammen beim Ausführen des Emulators über die Befehlszeile.

Nicht unterstützte Debug-Tags werden ignoriert. Weitere Informationen zu Debug-Tags finden Sie unter emulator -help-debug-tags.