Ortam değişkenleri

Ortam değişkenlerini ayarlayarak Android Studio'nun ve komut satırı araçlarının davranışını yapılandırabilirsiniz. Ayarlanması gereken en kullanışlı ortam değişkenlerinden biri, Android SDK yükleme dizinini belirlemek için birçok aracın okuduğu ANDROID_HOME'tir. Araçları yürütülebilir dosyanın tam yolunu eklemeden komut satırından çalıştırmak için komut arama yolu ortam değişkeninizi ANDROID_HOME/tools, ANDROID_HOME/tools/bin ve ANDROID_HOME/platform-tools içerecek şekilde ayarlayın.

Ortam değişkenleri nasıl ayarlanır?

Aşağıdaki örneklerde, farklı işletim sistemleri için bir terminal penceresinde ve kabuk komut dosyasında ortam değişkenlerinin nasıl ayarlanacağı gösterilmektedir. Terminal pencerelerindeki değişken ayarları yalnızca pencere açık olduğu sürece geçerlidir. macOS ve Linux'ta, her yeni kabuk başladığında kabuk başlatma komut dosyalarında değişken ayarları belirlenir. Windows'da değişken ayarları, sistem ayarlarından yapılabilir.

Windows: Bir terminal penceresine aşağıdakileri yazın:

set HTTP_PROXY=myserver:1981

Alternatif olarak, Windows kullanıcı arayüzü üzerinden de ekleyebilirsiniz. Nasıl yapılacağını öğrenmek için Windows sürümünüzle ilgili belgelere göz atın.

macOS ve Linux: Ortam değişkenlerini tam olarak ayarlama yöntemi, hangi kabuğu kullandığınıza bağlıdır. Hangi kabuk türünün çalıştığını belirlemek için aşağıdakileri yazın:

echo $0

Gnu Bash veya Zsh gibi kabuklarda değişkenler aşağıdaki söz dizimi kullanılarak ayarlanır:

export VARIABLE_NAME=<new-value>

TCSH gibi diğer kabuklarda değişkenler aşağıdaki söz dizimi kullanılarak ayarlanır:

setenv VARIABLE_NAME <new-value>

Bu komutlar, yeni kabuk örneği her çalıştırıldığında değişkenleri ayarlamak için kabuk başlatma komut dosyasına eklenebilir.

Kabuk başlatma komut dosyasının konumu, kullanılan kabuğa bağlıdır. Gnu Bash için konum ~/.bash_profile olabilir. Zsh için konum ~/.zprofile olabilir. TCSH için konum ~/.cshrc olabilir. Emin olmak için kullandığınız kabuğun belgelerini kontrol edin.

Ayrıca, araç konumlarını eklemek için PATH ortam değişkenini de güncelleyebilirsiniz.

Gnu Bash veya Zsh için:

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

TCSH için:

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

Değişkenler referansı

Aşağıdaki tabloda Android SDK araçları için yaygın olarak kullanılan ortam değişkenleri açıklanmaktadır.

Tablo 1. Ortam değişkenleri

Android SDK ortam değişkenleri
ANDROID_HOME SDK yükleme dizininin yolunu ayarlar. Ayarlandıktan sonra değer genellikle değişmez ve aynı makinede birden fazla kullanıcı tarafından paylaşılabilir. SDK yükleme dizinini de işaret eden ANDROID_SDK_ROOT kullanımdan kaldırıldı. Kullanmaya devam ederseniz Android Studio ve Android Gradle eklentisi, eski ve yeni değişkenlerin tutarlı olup olmadığını kontrol eder.
ANDROID_USER_HOME Android SDK'nın bir parçası olan araçlar için kullanıcı tercihleri dizininin yolunu ayarlar. Varsayılan olarak $HOME/.android/ değerine ayarlanır.

Android Studio 4.3 ve öncesi gibi bazı eski araçlar ANDROID_USER_HOME okumaz. Söz konusu eski araçlar için kullanıcı tercihleri konumunu geçersiz kılmak isterseniz ANDROID_SDK_HOME öğesini, .android dizininin altında oluşturulmasını istediğiniz üst dizine ayarlayın.

REPO_OS_OVERRIDE Mevcut makineden farklı bir işletim sisteminin paketlerini indirmek için sdkmanager kullanırken bu değişkeni windows, macosx veya linux olarak ayarlayın.
Android Studio yapılandırma ortamı değişkenleri
Android Studio yapılandırma değişkenleri, yapılandırma dosyalarının ve JDK'nın konumunu özelleştiren ayarlar içerir. Android Studio başlangıçta bu değişkenlerle ayarları kontrol eder. Daha fazla bilgi edinmek için Android Studio'yu yapılandırma konusuna bakın.
STUDIO_VM_OPTIONS studio.vmoptions dosyasının konumunu ayarlar. Bu dosya, Java HotSpot Sanal Makinesi'nin performans özelliklerini etkileyen ayarları içerir. Bu dosyaya Android Studio'dan da erişilebilir. Sanal makine seçeneklerinizi özelleştirme bölümüne göz atın.
STUDIO_PROPERTIES idea.properties dosyasının konumunu ayarlar. Bu dosya, kullanıcı tarafından yüklenen eklentilerin yolu ve IDE tarafından desteklenen maksimum dosya boyutu gibi Android Studio IDE özelliklerini özelleştirmenizi sağlar. IDE özelliklerinizi özelleştirme bölümüne bakın.
STUDIO_JDK Android Studio'nun çalıştığı JDK'nın konumunu ayarlar. IDE'yi başlattığınızda STUDIO_JDK, JDK_HOME ve JAVA_HOME ortam değişkenlerini sırayla kontrol eder.
STUDIO_GRADLE_JDK Android Studio'nun Gradle arka plan programını başlatmak için kullandığı JDK'nın konumunu ayarlar. IDE, başlatıldığında önce STUDIO_GRADLE_JDK politikasını kontrol eder. STUDIO_GRADLE_JDK tanımlanmamışsa IDE, proje yapısı ayarlarında ayarlanan değeri kullanır.
Emülatör ortam değişkenleri
Varsayılan olarak emülatör, yapılandırma dosyalarını $HOME/.android/ ve AVD verilerini $HOME/.android/avd/ altında depolar. Aşağıdaki ortam değişkenlerini ayarlayarak varsayılanları geçersiz kılabilirsiniz. emulator -avd <avd_name> komutu, avd dizininde $ANDROID_AVD_HOME, $ANDROID_USER_HOME/avd/ ve $HOME/.android/avd/ içindeki değerlere göre arama yapar.

Emülatör ortam değişkeni yardımı için komut satırına emulator -help-environment yazın. emulator komut satırı seçenekleri hakkında bilgi için Emülatörü komut satırından başlatma bölümüne bakın.

ANDROID_EMULATOR_HOME Kullanıcıya özel emülatör yapılandırma dizininin yolunu ayarlar. Varsayılan olarak $ANDROID_USER_HOME değerine ayarlanır.

Android Studio 4.3 ve önceki sürümler gibi daha eski araçlar ANDROID_USER_HOME okumaz. Bu araçlar için varsayılan değer $ANDROID_SDK_HOME/.android şeklindedir.

ANDROID_AVD_HOME Çoğunlukla çok büyük disk görüntülerinden oluşan tüm AVD'ye özgü dosyaları içeren dizinin yolunu belirler. Varsayılan konum: $ANDROID_EMULATOR_HOME/avd/. Varsayılan konumdaki disk alanı azsa yeni bir konum belirtmek isteyebilirsiniz.
Android emülatörü, başlatıldığında aşağıdaki ortam değişkenlerini sorgular:
ANDROID_LOG_TAGS İlgili konu: ANDROID_LOG_TAGS.
HTTP_PROXY

Genel HTTP proxy için HTTP/HTTPS proxy ayarını içerir. Ana makine ile bağlantı noktası arasında iki nokta üst üste (:) ayırıcısı kullanır. Örneğin, set HTTP_PROXY=myserver:1981.

Bu, emülatörü komut satırından çalıştırırken -http-proxy proxy bağımsız değişkeninin belirtilmesiyle aynıdır.

ANDROID_VERBOSE İlgili konu: ANDROID_VERBOSE.
ANDROID_HOME İlgili konu: ANDROID_HOME.
ANDROID_EMULATOR_USE_SYSTEM_LIBS 0 (varsayılan) veya 1 değerini içerir. 1 değeri, emülatörle birlikte gelen dosya yerine sisteme ait libstdc++.so dosyasının kullanıldığı anlamına gelir. Bu ortam değişkenini, yalnızca sistem kitaplığı sorunu nedeniyle emülatör Linux sisteminizde başlatılmadığında ayarlayın. Örneğin, bazı Linux Radeon GL sürücü kitaplıkları daha yeni bir libstdc++.so dosyası gerektirir.
Hızlı emülatör (QEMU) ses
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV Linux'ta QEMU_AUDIO_DRV ortam değişkenini aşağıdaki değerlerden birine ayarlayarak emülatörün varsayılan ses arka ucunu değiştirebilirsiniz:
  • alsa: Gelişmiş Linux Ses Mimarisi (ALSA) arka ucunu kullanın
  • esd: Enlightened Sound Daemon (EsounD) arka ucunu kullanma
  • sdl: Basit DirectMedia Katmanı (SDL) ses arka ucunu kullanın (ses girişi desteklenmez)
  • oss:: Açık Ses Sistemi (OSS) arka ucunu kullanma
  • none:: Ses desteklenmiyor
set QEMU_AUDIO_DRV=alsa

Ayrıca QEMU_AUDIO_OUT_DRV ve QEMU_AUDIO_IN_DRV ortam değişkenleri için QEMU değerlerinden birini seçerek ses girişi ve ses çıkışları için farklı arka uçlar da kullanabilirsiniz:

set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

Ses desteğini devre dışı bırakmak istiyorsanız emulator -no-audio seçeneğini kullanın veya QEMU_AUDIO_DRV öğesini none olarak ayarlayın. Aşağıdaki durumlarda sesi devre dışı bırakmanız gerekebilir:

  • Nadir durumlarda, ses sürücüleri emülatör çalışırken Windows'un yeniden başlatılmasına neden olabilir.
  • Bazı Linux makinelerde emülatör, ses desteği etkin durumdayken başlatma sırasında takılabilir.
adb ortam değişkenleri
ANDROID_SERIAL adb komutuna emulator-5555 gibi bir emülatör seri numarası sağlamak için bu değişkeni kullanın. Bu değişkeni ayarlayıp komut satırından bir seri numarası belirtmek için -s seçeneğini kullanırsanız komut satırı girişi, ANDROID_SERIAL değerini geçersiz kılar.

Aşağıdaki örnekte ANDROID_SERIAL kümesi ve adb install helloworld.apk çağrılır. Bu işlem daha sonra Android uygulama paketini emulator-5555'e yükler.

set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk

adb logcat ortam değişkenleri
ANDROID_LOG_TAGS Geliştirme bilgisayarınızda logcat çalıştırırken varsayılan filtre ifadesi ayarlamak için bu ortam değişkenini kullanın. Örneğin:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.

Bu, emülatörü komut satırından çalıştırırken -logcat tags bağımsız değişkeninin belirtilmesiyle aynıdır.

Daha fazla bilgi ve örnek için Günlük çıkışını filtreleme bölümüne bakın.

ADB_TRACE Günlüğe kaydedilecek hata ayıklama bilgilerinin virgülle ayrılmış listesini içerir. Değerler şunlar olabilir: all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport ve jdwp.

adb istemcileri ve adb sunucusuyla ilgili adb günlüklerini görüntülemek için ADB_TRACE öğesini all olarak ayarlayın ve ardından aşağıdaki gibi adb logcat komutunu çağırın:

set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE Emülatör tarafından kullanılan ayrıntılı çıkış seçeneklerinin (hata ayıklama etiketleri) virgülle ayrılmış bir listesini içerir. Aşağıdaki örnekte debug-socket ve debug-radio hata ayıklama etiketleriyle tanımlanmış ANDROID_VERBOSE gösterilmektedir:
set ANDROID_VERBOSE=socket,radio

Bu, emülatörü komut satırından çalıştırırken -verbose -verbose-socket -verbose-radio bağımsız değişkenlerini birlikte belirtmekle aynıdır.

Desteklenmeyen hata ayıklama etiketleri yok sayılır. Hata ayıklama etiketleri hakkında daha fazla bilgi için emulator -help-debug-tags öğesini kullanın.