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. Ayarlanabilecek en yararlı ortam değişkenlerinden biri, Android SDK yükleme dizinini belirlemek için birçok araç tarafından okunan ANDROID_HOME değişkenidir. Yürütülebilir dosyanın tam yolunu eklemeden komut satırından araç çalıştırmak için komut arama yolu ortam değişkeninizi ANDROID_HOME/tools, ANDROID_HOME/tools/bin ve ANDROID_HOME/platform-tools'yi 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 bir 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şlatıldığında değişken ayarları kabuk başlatma komut dosyalarında ayarlanır. Windows'da değişken ayarları, sistem ayarları üzerinden belirlenebilir.

Windows: Terminal penceresinde aşağıdakileri yazın:

set HTTP_PROXY=myserver:1981

Alternatif olarak, Windows kullanıcı arayüzü üzerinden ekleyin. Nasıl yapılacağını öğrenmek için Windows sürümünüzle ilgili dokümanları inceleyin.

macOS ve Linux: Ortam değişkenlerini ayarlama yöntemi, kullandığınız kabuğa 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, her yeni kabuk örneği ç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 dokümanlarını inceleyin.

Ayrıca, PATH ortam değişkenini araç konumlarını içerecek şekilde 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şken 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. Bir kez ayarlandıktan sonra değer genellikle değişmez ve aynı makinedeki birden fazla kullanıcı tarafından paylaşılabilir. Ayrıca SDK yükleme dizinini de gösteren ANDROID_SDK_ROOT, kullanımdan kaldırıldı. Bu sürümü 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'sının 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 önceki sürümleri gibi bazı eski araçlar ANDROID_USER_HOME öğesini okumaz. Bu eski araçlar için kullanıcı tercihlerinin konumunu geçersiz kılmak üzere ANDROID_SDK_HOME dizinini, .android dizininin altında oluşturulmasını istediğiniz üst dizine ayarlayın.

REPO_OS_OVERRIDE sdkmanager kullanarak mevcut makineden farklı bir işletim sistemi için paket indirirken 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şkenleri ayarlar için kontrol eder. Daha fazla bilgi için Android Studio'yu yapılandırma başlıklı makaleyi inceleyin.
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 başlıklı makaleyi inceleyin.
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ştirmenize olanak tanır. IDE özelliklerinizi özelleştirme başlıklı makaleyi inceleyin.
STUDIO_JDK Android Studio'nun çalıştığı JDK'nın konumunu ayarlar. IDE'yi başlattığınızda, sırasıyla STUDIO_JDK, JDK_HOME ve JAVA_HOME ortam değişkenlerini kontrol eder.
STUDIO_GRADLE_JDK Android Studio'nun Gradle arka plan programını başlatmak için kullandığı JDK'nın konumunu ayarlar. IDE'yi başlattığınızda ilk olarak STUDIO_GRADLE_JDK kontrol edilir. STUDIO_GRADLE_JDK tanımlanmamışsa IDE, proje yapısı ayarlarında belirlenen değeri kullanır.
Emülatör ortam değişkenleri
Emülatör, yapılandırma dosyalarını varsayılan olarak $HOME/.android/ altında, AVD verilerini ise $HOME/.android/avd/ altında saklar. Aşağıdaki ortam değişkenlerini ayarlayarak varsayılanları geçersiz kılabilirsiniz. emulator -avd <avd_name> komutu, $ANDROID_AVD_HOME, $ANDROID_USER_HOME/avd/ ve $HOME/.android/avd/ değerlerinin sırasına göre avd dizininde arama yapar.

Emülatör ortamı değişkeniyle ilgili 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 başlıklı makaleyi inceleyin.

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ümleri gibi eski araçlar ANDROID_USER_HOME okumaz. Bu araçlar için varsayılan değer $ANDROID_SDK_HOME/.android'dır.

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

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

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

ANDROID_VERBOSE ANDROID_VERBOSE sayfasına bakın.
ANDROID_HOME ANDROID_HOME sayfasına bakın.
ANDROID_EMULATOR_USE_SYSTEM_LIBS 0 (varsayılan) veya 1 değerini içerir. 1 değeri, emülatörle birlikte gelen dosya yerine sistemin libstdc++.so dosyasının kullanıldığı anlamına gelir. Bu ortam değişkenini yalnızca sistem kitaplığı sorunu nedeniyle Linux sisteminizde emülatör başlatılamadığı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) sesi
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: Advanced Linux Sound Architecture (ALSA) arka ucunu kullanma
  • esd: Enlightened Sound Daemon (EsounD) arka ucunu kullanın
  • sdl: Simple DirectMedia Layer (SDL) ses arka ucunu kullanın (ses girişi desteklenmez).
  • oss:: Open Sound System (OSS) arka ucunu kullanın
  • none:: Ses desteklenmez
set QEMU_AUDIO_DRV=alsa

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 değerini 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 etkinleştirilmiş halde başlatılırken takılabilir.
adb ortam değişkenleri
ANDROID_SERIAL Bu değişkeni, adb komutuna emulator-5555 gibi bir emülatör seri numarası sağlamak için kullanın. Bu değişkeni ayarlarsanız ancak komut satırından seri numarası belirtmek için -s seçeneğini kullanırsanız komut satırı girişi, ANDROID_SERIAL içindeki değeri geçersiz kılar.

Aşağıdaki örnekte ANDROID_SERIAL ayarlanır ve adb install helloworld.apk çağrılır. Bu işlem, 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ızdan adb logcat komutunu çalıştırdığınızda varsayılan bir filtre ifadesi ayarlamak için bu ortam değişkenini kullanın. Örneğin:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:S

Filtre ifadesi, emülatörün -logcat tags seçeneğiyle aynı söz dizimini kullanı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 sunucusu için adb günlüklerini görüntülemek üzere ADB_TRACE değerini all olarak ayarlayın ve ardından adb logcat komutunu aşağıdaki gibi ç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ış listesini içerir. Aşağıdaki örnekte, ANDROID_VERBOSE debug-socket ve debug-radio hata ayıklama etiketleriyle tanımlanmıştır:
set ANDROID_VERBOSE=socket,radio

Bu, öykünücüyü 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 yoksayılır. Hata ayıklama etiketleri hakkında daha fazla bilgi edinmek için emulator -help-debug-tags kullanın.