Variabel lingkungan

Anda dapat mengonfigurasi perilaku Android Studio dan alat command line dengan menetapkan variabel lingkungan. Salah satu variabel lingkungan yang paling berguna untuk ditetapkan adalah ANDROID_HOME, yang dibaca banyak alat untuk menentukan direktori penginstalan Android SDK. Untuk menjalankan alat dari command line tanpa menyertakan jalur lengkap ke file yang dapat dieksekusi, tetapkan variabel lingkungan jalur penelusuran perintah Anda agar menyertakan ANDROID_HOME/tools, ANDROID_HOME/tools/bin, dan ANDROID_HOME/platform-tools.

Cara menetapkan variabel lingkungan

Contoh berikut ini menunjukkan cara menetapkan variabel lingkungan di jendela terminal dan dalam skrip shell untuk sistem operasi yang berbeda. Setelan variabel di jendela terminal akan tetap ada hanya selama jendela terbuka. Pada macOS dan Linux, setiap kali shell baru dimulai, setelan variabel ditetapkan dalam skrip inisialisasi shell. Di Windows, setelan variabel dapat ditetapkan melalui setelan sistem.

Windows: Di jendela terminal, ketik perintah berikut:

set HTTP_PROXY=myserver:1981

Jika tidak, Anda dapat menambahkannya melalui UI Windows. Periksa dokumentasi untuk versi Windows Anda guna mempelajari caranya.

macOS dan Linux: Metode penetapan variabel lingkungan yang tepat bergantung pada shell yang Anda gunakan. Untuk mengetahui jenis shell mana yang berjalan, ketik perintah berikut:

echo $0

Di shell seperti Gnu Bash atau Zsh, variabel ditetapkan menggunakan sintaksis berikut:

export VARIABLE_NAME=<new-value>

Di shell lainnya, seperti TCSH, variabel ditetapkan menggunakan sintaksis berikut:

setenv VARIABLE_NAME <new-value>

Perintah ini dapat ditambahkan ke skrip inisialisasi shell untuk menetapkan variabel setiap kali instance shell baru dijalankan.

Lokasi skrip inisialisasi shell bergantung pada shell yang digunakan. Untuk Gnu Bash, lokasinya dapat berupa ~/.bash_profile. Untuk Zsh, lokasinya dapat berupa ~/.zprofile. Untuk TCSH, lokasinya dapat berupa ~/.cshrc. Periksa dokumentasi untuk shell yang Anda gunakan untuk memastikan.

Anda juga dapat memperbarui variabel lingkungan PATH untuk menyertakan lokasi alat.

Untuk Gnu Bash atau Zsh:

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

Dan untuk TCSH:

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

Referensi variabel

Tabel berikut ini menjelaskan tentang variabel lingkungan yang umum digunakan untuk fitur Android SDK.

Tabel 1. Variabel lingkungan

Variabel lingkungan Android SDK
ANDROID_HOME Menetapkan jalur ke direktori penginstalan SDK. Setelah ditetapkan, nilainya biasanya tidak berubah, dan dapat dibagikan oleh beberapa pengguna di perangkat yang sama. ANDROID_SDK_ROOT, yang juga menunjuk ke direktori penginstalan SDK, tidak digunakan lagi. Jika Anda terus menggunakannya, Android Studio dan plugin Android Gradle akan memeriksa apakah variabel lama dan baru sudah konsisten.
ANDROID_USER_HOME Menetapkan jalur ke direktori preferensi pengguna untuk alat yang merupakan bagian dari Android SDK. Default-nya adalah $HOME/.android/.

Beberapa alat lama, seperti Android Studio 4.3 dan versi yang lebih lama, tidak membaca ANDROID_USER_HOME. Untuk mengganti lokasi preferensi pengguna bagi alat lama tersebut, tetapkan ANDROID_SDK_HOME ke direktori induk yang ingin Anda buatkan direktori .android.

REPO_OS_OVERRIDE Tetapkan variabel ini ke windows, macosx, atau linux jika Anda menggunakan sdkmanager untuk mendownload paket bagi sistem operasi yang berbeda dari perangkat saat ini.
Variabel lingkungan konfigurasi Android Studio
Variabel konfigurasi Android Studio berisi setelan yang menyesuaikan lokasi file konfigurasi dan JDK. Saat perangkat dinyalakan, Android Studio akan memeriksa variabel ini untuk mengetahui setelannya. Untuk informasi selengkapnya, lihat Mengonfigurasi Android Studio.
STUDIO_VM_OPTIONS Menetapkan lokasi file studio.vmoptions. File ini berisi setelan yang memengaruhi karakteristik performa Mesin Virtual Java HotSpot. File ini juga dapat diakses dari dalam Android Studio. Lihat Menyesuaikan opsi VM.
STUDIO_PROPERTIES Menetapkan lokasi file idea.properties. File ini memungkinkan Anda menyesuaikan properti Android Studio IDE, seperti jalur ke plugin yang diinstal oleh pengguna, dan ukuran file maksimum yang didukung oleh IDE. Lihat Menyesuaikan properti IDE.
STUDIO_JDK Menetapkan lokasi JDK tempat Android Studio dijalankan. Saat Anda menjalankannya, IDE akan memeriksa variabel lingkungan STUDIO_JDK, JDK_HOME, dan JAVA_HOME dalam urutan tersebut.
STUDIO_GRADLE_JDK Menetapkan lokasi JDK yang digunakan Android Studio untuk memulai daemon Gradle. Saat Anda menjalankannya, IDE akan memeriksa STUDIO_GRADLE_JDK terlebih dahulu. Jika STUDIO_GRADLE_JDK tidak ditentukan, IDE akan menggunakan nilai yang ditetapkan dalam setelan project structure.
Variabel lingkungan Emulator
Secara default, emulator menyimpan file konfigurasi di bagian $HOME/.android/ dan data AVD di bagian $HOME/.android/avd/. Anda dapat mengganti nilai default dengan menetapkan variabel lingkungan berikut ini. Perintah emulator -avd <avd_name> menelusuri direktori avd sesuai urutan nilai di $ANDROID_AVD_HOME, $ANDROID_USER_HOME/avd/, dan $HOME/.android/avd/.

Untuk mendapatkan bantuan terkait variabel lingkungan emulator, ketik emulator -help-environment di command line. Untuk informasi tentang opsi command line emulator, lihat Memulai emulator dari command line.

ANDROID_EMULATOR_HOME Menetapkan jalur ke direktori konfigurasi emulator khusus pengguna. Default-nya adalah $ANDROID_USER_HOME.

Alat lama, seperti Android Studio 4.3 dan versi yang lebih lama, tidak membaca ANDROID_USER_HOME. Untuk alat tersebut, nilai defaultnya adalah $ANDROID_SDK_HOME/.android.

ANDROID_AVD_HOME Menetapkan jalur ke direktori yang berisi semua file khusus AVD, yang sebagian besar terdiri dari disk image yang sangat besar. Lokasi default-nya adalah $ANDROID_EMULATOR_HOME/avd/. Sebaiknya Anda menetapkan lokasi baru jika lokasi default memiliki kapasitas disk yang rendah.
Emulator Android akan mengkueri variabel lingkungan berikut ini ketika dimulai:
ANDROID_LOG_TAGS Lihat ANDROID_LOG_TAGS.
HTTP_PROXY

Berisi setelan proxy HTTP/HTTPS untuk proxy HTTP global. Menggunakan pemisah titik dua (:) antara host dan port. Contoh: set HTTP_PROXY=myserver:1981.

Hal ini sama dengan menentukan argumen -http-proxy proxy saat menjalankan emulator dari command line.

ANDROID_VERBOSE Lihat ANDROID_VERBOSE.
ANDROID_HOME Lihat ANDROID_HOME.
ANDROID_EMULATOR_USE_SYSTEM_LIBS Berisi nilai 0 (default) atau 1. Nilai 1 berarti file libstdc++.so sistem digunakan, bukan file yang disertakan dengan emulator. Tetapkan variabel lingkungan ini hanya jika emulator tidak dapat dimulai di sistem Linux karena adanya masalah library sistem. Misalnya, beberapa library driver Linux Radeon GL memerlukan file libstdc++.so yang lebih baru.
Audio emulator cepat (QEMU)
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV Di Linux, Anda dapat mengubah backend audio default dari emulator dengan menetapkan variabel lingkungan QEMU_AUDIO_DRV ke salah satu nilai berikut:
  • alsa: Menggunakan backend Advanced Linux Sound Architecture (ALSA)
  • esd: Menggunakan backend Enlightened Sound Daemon (EsounD)
  • sdl: Menggunakan backend audio Simple DirectMedia Layer (SDL) (tidak ada input audio yang didukung)
  • oss:: Menggunakan backend Open Sound System (OSS)
  • none:: Tidak mendukung audio
set QEMU_AUDIO_DRV=alsa

Anda juga dapat menggunakan backend yang berbeda untuk input dan output audio dengan memilih salah satu nilai QEMU untuk variabel lingkungan QEMU_AUDIO_OUT_DRV dan QEMU_AUDIO_IN_DRV:

set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

Jika Anda ingin menonaktifkan dukungan audio, gunakan emulator -no-audio atau tetapkan QEMU_AUDIO_DRV ke none. Anda mungkin perlu menonaktifkan audio dalam situasi berikut:

  • Dalam kasus yang jarang terjadi, driver audio dapat menyebabkan Windows melakukan reboot saat emulator sedang berjalan.
  • Pada beberapa perangkat Linux, emulator mungkin macet saat memulai dengan dukungan audio diaktifkan.
Variabel lingkungan adb
ANDROID_SERIAL Gunakan variabel ini untuk memberikan nomor seri emulator, seperti emulator-5555, ke perintah adb. Jika Anda menetapkan variabel ini, tetapi menggunakan opsi -s untuk menentukan nomor seri dari command line, input command line akan menggantikan nilai dalam ANDROID_SERIAL.

Contoh berikut akan menetapkan ANDROID_SERIAL dan memanggil adb install helloworld.apk, yang kemudian menginstal paket aplikasi Android pada emulator-5555.

set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk

Variabel lingkungan logcat adb
ANDROID_LOG_TAGS Gunakan variabel lingkungan ini untuk menetapkan ekspresi filter default ketika Anda menjalankan logcat dari komputer pengembangan. Contoh:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.

Hal ini sama dengan menentukan argumen -logcat tags saat menjalankan emulator dari command line.

Lihat Memfilter output log untuk mengetahui informasi dan contoh selengkapnya.

ADB_TRACE Berisi daftar informasi debug yang dipisahkan koma untuk dicatat. Nilai dapat berupa: all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, dan jdwp.

Untuk menampilkan log adb bagi klien adb dan server adb, tetapkan ADB_TRACE ke all, lalu panggil perintah adb logcat, seperti berikut:

set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE Berisi daftar opsi output verbose yang dipisahkan koma (tag debug) yang digunakan oleh emulator. Contoh berikut menunjukkan ANDROID_VERBOSE yang ditetapkan dengan tag debug debug-socket dan debug-radio:
set ANDROID_VERBOSE=socket,radio

Sama dengan menentukan argumen -verbose -verbose-socket -verbose-radio saat menjalankan emulator dari command line.

Tag debug yang tidak didukung akan diabaikan. Untuk informasi selengkapnya tentang tag debug, gunakan emulator -help-debug-tags.