एनवायरमेंट वैरिएबल सेट करके, Android Studio और कमांड-लाइन टूल के व्यवहार को कॉन्फ़िगर किया जा सकता है. सेट करने के लिए सबसे ज़्यादा काम आने वाले एनवायरमेंट वैरिएबल में से एक ANDROID_HOME है. कई टूल इसे पढ़कर, Android SDK टूल की इंस्टॉलेशन डायरेक्ट्री का पता लगाते हैं.
एक्ज़ीक्यूटेबल का पूरा पाथ शामिल किए बिना, कमांड लाइन से टूल चलाने के लिए, कमांड सर्च पाथ एनवायरमेंट वैरिएबल को सेट करें, ताकि इसमें ANDROID_HOME/tools, ANDROID_HOME/tools/bin, और ANDROID_HOME/platform-tools शामिल हो.
एनवायरमेंट वैरिएबल सेट करने का तरीका
यहां दिए गए उदाहरणों में, अलग-अलग ऑपरेटिंग सिस्टम के लिए, टर्मिनल विंडो और शेल स्क्रिप्ट में एनवायरमेंट वैरिएबल सेट करने का तरीका बताया गया है. टर्मिनल विंडो में वैरिएबल सेटिंग, सिर्फ़ तब तक सेव रहती हैं, जब तक विंडो खुली रहती है. macOS और Linux पर, हर बार नया शेल शुरू होने पर, शेल इनिशियलाइज़ेशन स्क्रिप्ट में वैरिएबल की सेटिंग सेट की जाती हैं. Windows पर, सिस्टम सेटिंग में जाकर वैरिएबल सेटिंग सेट की जा सकती हैं.
Windows: टर्मिनल विंडो में, यह टाइप करें:
set HTTP_PROXY=myserver:1981
इसके अलावा, इसे Windows के यूज़र इंटरफ़ेस (यूआई) के ज़रिए भी जोड़ा जा सकता है. इसका तरीका जानने के लिए, अपने Windows वर्शन का दस्तावेज़ देखें.
macOS और Linux: एनवायरमेंट वैरिएबल सेट करने का सही तरीका इस बात पर निर्भर करता है कि आपने कौनसा शेल इस्तेमाल किया है. यह पता लगाने के लिए कि कौनसे शेल टाइप का इस्तेमाल किया जा रहा है, यह टाइप करें:
echo $0
Gnu Bash या Zsh जैसे शेल में, वैरिएबल को सेट करने के लिए इस सिंटैक्स का इस्तेमाल किया जाता है:
export VARIABLE_NAME=<new-value>
अन्य शेल, जैसे कि TCSH में, वैरिएबल को इस सिंटैक्स का इस्तेमाल करके सेट किया जाता है:
setenv VARIABLE_NAME <new-value>
इन कमांड को शेल इनिशियलाइज़ेशन स्क्रिप्ट में जोड़ा जा सकता है, ताकि हर बार नया शेल इंस्टेंस चलाने पर वैरिएबल सेट किए जा सकें.
शेल को शुरू करने वाली स्क्रिप्ट की जगह, इस्तेमाल किए जा रहे शेल पर निर्भर करती है.
Gnu Bash के लिए, जगह की जानकारी ~/.bash_profile हो सकती है. Zsh के लिए, यह फ़ाइल ~/.zprofile में मौजूद हो सकती है. टीसीएसएच के लिए, जगह की जानकारी ~/.cshrc हो सकती है. पक्का करने के लिए, इस्तेमाल की जा रही शेल का दस्तावेज़ देखें.
टूल की जगह की जानकारी शामिल करने के लिए, PATH एनवायरमेंट वैरिएबल को भी अपडेट किया जा सकता है.
Gnu Bash या Zsh के लिए:
export ANDROID_HOME=~/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
साथ ही, टीसीएसएच के लिए:
setenv ANDROID_HOME ~/Library/Android/sdk setenv PATH $PATH\:$ANDROID_HOME/tools\:$ANDROID_HOME/tools/bin\:$ANDROID_HOME/platform-tools
वैरिएबल का रेफ़रंस
यहां दी गई टेबल में, Android SDK टूल के लिए आम तौर पर इस्तेमाल किए जाने वाले एनवायरमेंट वैरिएबल के बारे में बताया गया है.
पहली टेबल. एनवायरमेंट वैरिएबल
| Android SDK के एनवायरमेंट वैरिएबल | |
|---|---|
ANDROID_HOME |
इससे एसडीके टूल इंस्टॉल करने की डायरेक्ट्री का पाथ सेट किया जाता है. एक बार सेट करने के बाद, आम तौर पर इसकी वैल्यू नहीं बदलती. साथ ही, इसे एक ही मशीन पर कई उपयोगकर्ता शेयर कर सकते हैं.
ANDROID_SDK_ROOT को अब इस्तेमाल नहीं किया जा सकता. यह एसडीके इंस्टॉल करने की डायरेक्ट्री की ओर भी इशारा करता है. इसका इस्तेमाल जारी रखने पर, Android Studio और Android Gradle प्लगिन यह जांच करेंगे कि पुराने और नए वैरिएबल एक जैसे हैं या नहीं.
|
ANDROID_USER_HOME |
Android SDK का हिस्सा बनने वाले टूल के लिए, उपयोगकर्ता की प्राथमिकताओं वाली डायरेक्ट्री का पाथ सेट करता है.
डिफ़ॉल्ट रूप से, इसकी वैल्यू $HOME/.android/ होती है.
Android Studio 4.3 और इससे पहले के वर्शन जैसे कुछ पुराने टूल, |
REPO_OS_OVERRIDE
|
जब आपको मौजूदा मशीन से अलग ऑपरेटिंग सिस्टम के लिए पैकेज डाउनलोड करने हों, तब इस वैरिएबल को windows, macosx या linux पर सेट करें.sdkmanager
|
| Android Studio के कॉन्फ़िगरेशन एनवायरमेंट वैरिएबल | |
| Android Studio के कॉन्फ़िगरेशन वैरिएबल में ऐसी सेटिंग होती हैं जो कॉन्फ़िगरेशन फ़ाइलों और JDK की जगह को पसंद के मुताबिक बनाती हैं. शुरू होने पर, Android Studio इन वैरिएबल की जांच करता है, ताकि सेटिंग का पता लगाया जा सके. ज़्यादा जानकारी के लिए, Android Studio कॉन्फ़िगर करना लेख पढ़ें. | |
STUDIO_VM_OPTIONS
|
इससे studio.vmoptions फ़ाइल की जगह की जानकारी सेट की जाती है.
इस फ़ाइल में ऐसी सेटिंग होती हैं जो Java HotSpot Virtual Machine की परफ़ॉर्मेंस की विशेषताओं पर असर डालती हैं. इस फ़ाइल को Android Studio से भी ऐक्सेस किया जा सकता है. अपने वीएम के विकल्पों को पसंद के मुताबिक बनाएं देखें.
|
STUDIO_PROPERTIES
|
इससे idea.properties फ़ाइल की जगह की जानकारी सेट की जाती है. इस फ़ाइल की मदद से, Android Studio IDE की प्रॉपर्टी को पसंद के मुताबिक बनाया जा सकता है. जैसे, उपयोगकर्ता के इंस्टॉल किए गए प्लगिन का पाथ और IDE के साथ काम करने वाली फ़ाइल का ज़्यादा से ज़्यादा साइज़. अपने आईडीई की प्रॉपर्टी को पसंद के मुताबिक बनाएं लेख पढ़ें.
|
STUDIO_JDK
|
Android Studio जिस JDK में चलता है उसकी जगह की जानकारी सेट करता है. आईडीई लॉन्च करने पर, यह STUDIO_JDK, JDK_HOME, और JAVA_HOME एनवायरमेंट वैरिएबल की जांच करता है. यह जांच इसी क्रम में की जाती है.
|
STUDIO_GRADLE_JDK
|
यह विकल्प, JDK की उस जगह की जानकारी सेट करता है जिसका इस्तेमाल Android Studio, Gradle डेमॉन को शुरू करने के लिए करता है. आईडीई लॉन्च करने पर, यह सबसे पहले STUDIO_GRADLE_JDK की जांच करता है. अगर STUDIO_GRADLE_JDK तय नहीं किया गया है, तो आईडीई, प्रोजेक्ट स्ट्रक्चर की सेटिंग में सेट की गई वैल्यू का इस्तेमाल करता है.
|
| एम्युलेटर के एनवायरमेंट वैरिएबल | |
डिफ़ॉल्ट रूप से, एम्युलेटर कॉन्फ़िगरेशन फ़ाइलों को $HOME/.android/ में और एवीडी डेटा को $HOME/.android/avd/ में सेव करता है. नीचे दिए गए एनवायरमेंट वैरिएबल सेट करके, डिफ़ॉल्ट वैल्यू को बदला जा सकता है.
emulator -avd <avd_name> कमांड, avd डायरेक्ट्री में खोज करती है. यह खोज, $ANDROID_AVD_HOME, $ANDROID_USER_HOME/avd/, और $HOME/.android/avd/ में मौजूद वैल्यू के क्रम में की जाती है.
एम्युलेटर के एनवायरमेंट वैरिएबल के बारे में जानने के लिए, कमांड लाइन पर |
|
ANDROID_EMULATOR_HOME
|
यह नीति, उपयोगकर्ता के हिसाब से एमुलेटर कॉन्फ़िगरेशन डायरेक्ट्री का पाथ सेट करती है. डिफ़ॉल्ट रूप से, इसकी वैल्यू $ANDROID_USER_HOME होती है.
Android Studio 4.3 और इससे पहले के वर्शन जैसे पुराने टूल, |
ANDROID_AVD_HOME
|
यह वैल्यू, उस डायरेक्ट्री का पाथ सेट करती है जिसमें AVD से जुड़ी सभी फ़ाइलें होती हैं. इनमें ज़्यादातर बहुत बड़ी डिस्क इमेज होती हैं. डिफ़ॉल्ट जगह $ANDROID_EMULATOR_HOME/avd/ है. अगर डिफ़ॉल्ट जगह पर डिस्क स्पेस कम है, तो आपको नई जगह तय करनी पड़ सकती है.
|
| Android एम्युलेटर शुरू होने पर, इन एनवायरमेंट वैरिएबल के बारे में क्वेरी करता है: | |
ANDROID_LOG_TAGS
|
ANDROID_LOG_TAGS देखें.
|
HTTP_PROXY
|
इस कुकी में, ग्लोबल एचटीटीपी प्रॉक्सी के लिए एचटीटीपी/एचटीटीपीएस प्रॉक्सी सेटिंग होती है. यह होस्ट और पोर्ट के बीच कोलन (:) सेपरेटर का इस्तेमाल करता है. उदाहरण के लिए, यह कमांड लाइन से एम्युलेटर को चालू करते समय,
|
ANDROID_VERBOSE
|
ANDROID_VERBOSE देखें.
|
ANDROID_HOME
|
ANDROID_HOME देखें.
|
ANDROID_EMULATOR_USE_SYSTEM_LIBS
|
इसमें 0 (डिफ़ॉल्ट) या 1 की वैल्यू होती है. वैल्यू 1 का मतलब है कि इम्यूलेटर के साथ बंडल की गई फ़ाइल के बजाय, सिस्टम की libstdc++.so फ़ाइल का इस्तेमाल किया जाता है.
इस एनवायरमेंट वैरिएबल को सिर्फ़ तब सेट करें, जब सिस्टम लाइब्रेरी की समस्या की वजह से, आपका Linux सिस्टम इम्यूलेटर शुरू न हो रहा हो. उदाहरण के लिए, Linux Radeon GL ड्राइवर की कुछ लाइब्रेरी के लिए, libstdc++.so फ़ाइल का नया वर्शन ज़रूरी होता है.
|
| क्विक एम्युलेटर (QEMU) ऑडियो | |
QEMU_AUDIO_DRV
QEMU_AUDIO_OUT_DRV
QEMU_AUDIO_IN_DRV
|
Linux पर, QEMU_AUDIO_DRV एनवायरमेंट वैरिएबल को इनमें से किसी एक वैल्यू पर सेट करके, एम्युलेटर के डिफ़ॉल्ट ऑडियो बैकएंड को बदला जा सकता है:
set QEMU_AUDIO_DRV=alsa
ऑडियो इनपुट और ऑडियो आउटपुट के लिए अलग-अलग बैकएंड का इस्तेमाल भी किया जा सकता है. इसके लिए, set QEMU_AUDIO_OUT=esd set QEMU_AUDIO_IN=oss
अगर आपको ऑडियो की सुविधा बंद करनी है, तो
|
| adb एनवायरमेंट वैरिएबल | |
ANDROID_SERIAL
|
इस वैरिएबल का इस्तेमाल, adb कमांड को एम्युलेटर का सीरियल नंबर देने के लिए करें. जैसे, emulator-5555. अगर आपने इस वैरिएबल को सेट किया है, लेकिन कमांड लाइन से सीरियल नंबर तय करने के लिए -s
विकल्प का इस्तेमाल किया है, तो कमांड-लाइन इनपुट, ANDROID_SERIAL में मौजूद वैल्यू को बदल देगा.
यहां दिए गए उदाहरण में, set ANDROID_SERIAL=emulator-555 adb install helloWorld.apk |
| adb logcat एनवायरमेंट वैरिएबल | |
ANDROID_LOG_TAGS
|
इस एनवायरमेंट वैरिएबल का इस्तेमाल करके, डिफ़ॉल्ट फ़िल्टर एक्सप्रेशन सेट करें. ऐसा तब करें, जब आपको अपने डेवलपमेंट कंप्यूटर से adb logcat चलाना हो. उदाहरण के लिए:
set फ़िल्टर एक्सप्रेशन में, एम्युलेटर ज़्यादा जानकारी और उदाहरणों के लिए, लॉग आउटपुट को फ़िल्टर करना लेख पढ़ें. |
ADB_TRACE
|
इसमें डीबग करने से जुड़ी जानकारी की कॉमा लगाकर अलग की गई लिस्ट होती है.
इन वैल्यू का इस्तेमाल किया जा सकता है: all, adb, sockets,
packets, rwx, usb, sync, sysdeps,
transport, और jdwp.
set ADB_TRACE=all adb logcat |
ANDROID_VERBOSE
|
इसमें, एमुलेटर के ज़रिए इस्तेमाल किए जाने वाले, ज़्यादा जानकारी वाले आउटपुट विकल्पों (डीबग टैग) की कॉमा लगाकर अलग की गई लिस्ट होती है. यहां दिए गए उदाहरण में, debug-socket और debug-radio डीबग टैग के साथ तय किया गया ANDROID_VERBOSE दिखाया गया है:
set ANDROID_VERBOSE=socket,radio यह कमांड लाइन से एम्युलेटर को चलाते समय,
ऐसे डीबग टैग को अनदेखा कर दिया जाता है जिनका इस्तेमाल नहीं किया जा सकता. डीबग टैग के बारे में ज़्यादा जानकारी पाने के लिए, |