एंड्रॉइड वर्चुअल डिवाइसेस को कहाँ सहेजा गया है, इसे बदलना संभव है?


185

मैंने एंड्रॉइड एसडीके और एक्लिप्स को अपनी मशीन पर स्थापित किया है जो विंडोज एक्सपी और एवीडी (एंड्रॉइड वर्चुअल डिवाइसेस) पर चल रहा है, डिफ़ॉल्ट रूप से "दस्तावेज़ और सेटिंग्स \ उपयोगकर्ता \"। क्या इस व्यवहार को बदलने का कोई तरीका है? मेरे पास एक अलग विभाजन पर निर्देशिका में सहेजे गए अन्य घटक हैं और वे चाहेंगे कि सब कुछ समेकित हो। जाहिर है कि यह बहुत बड़ी बात नहीं है, लेकिन क्या कोई व्यक्ति इसके लिए कोई समाधान जानता है?


मैंने वर्चुअल रैम डिस्क बनाई है जो एसएसडी से 100 गुना तेज है और इस डिस्क स्पीड अप एमुलेटर फाइल को मूविंग लोड करने के लिए चलती है।
विनिगास

@Vinigas क्या आप कृपया विस्तार से बता सकते हैं "रैम डिस्क जो 100x है" मैं अपने एमुलेटर को भी तेज करना चाहता हूं
उत्सव गुप्त

वर्चुअल डिस्क बनाने के लिए मैं "सॉफ्टपेयर रैम डिस्क" सॉफ्टवेयर का उपयोग करता हूं। फिर मैंने इस रैम-डिस्क में एंड्रॉइड एमुलेटर फ़ाइलों को रखा और एमुलेटर लोकेशन सेट किया। यदि आपके पास एचडीडी है, तो आपको एचडीडी और रैम में एमुलेटर के बीच बड़ा अंतर दिखाई देगा।
विनीगस जूल

प्रश्न सहेजें: stackoverflow.com/questions/3109473/…
सैदोलिम

जवाबों:


246

एक नया उपयोगकर्ता परिवेश चर (विंडोज 7) जोड़ें:

  1. प्रारंभ मेनू> नियंत्रण कक्ष> सिस्टम> उन्नत सिस्टम सेटिंग्स (बाईं ओर)> पर्यावरण चर

  2. एक नया उपयोगकर्ता चर जोड़ें (शीर्ष पर) जो आपके होम उपयोगकर्ता निर्देशिका को इंगित करता है:

    परिवर्तनीय नाम: ANDROID_SDK_HOME
    परिवर्तनीय मूल्य: अपनी पसंद की निर्देशिका का पथ

AVD प्रबंधक इस निर्देशिका का उपयोग अपनी .androidनिर्देशिका को इसमें सहेजने के लिए करेगा।

उन लोगों के लिए, जिनकी रुचि हो सकती है, मैंने एंड्रॉइड डेवलपमेंट में अपने पहले फ़ॉरेस्ट के बारे में ब्लॉग किया ...
एंड्रॉइड "हैलो वर्ल्ड": वेल ऑफ़ ए वे

वैकल्पिक रूप से, आप पर्यावरण चर को सेट करने के लिए रैपिड पर्यावरण संपादक का उपयोग कर सकते हैं ।


1
धन्यवाद। अपने ब्लॉग प्रविष्टि को पढ़ना आज के पहले कुछ घंटों को इस तरह से गूंथने से राहत देने जैसा था। क्या मुसीबत है!
मैट बरलैंड

6
आपकी जानकारी के लिए +1। लेकिन मैं xp का उपयोग कर रहा हूँ। मेरे लिए यह पुनः आरंभ करने के बाद काम करेगा। धन्यवाद।
गुनासेलन

1
यह दृष्टिकोण मेरे लिए तब तक काम करता है जब तक मैं अपना कंप्यूटर पुनरारंभ नहीं करता। Win7।
वांगफ

2
या सिर्फ cmd में टाइप करेंsetx ANDROID_SDK_HOME D:\your\path\here
Петър Петров

13
ANDROID_AVD_HOME पर्यावरण चर को ANDROID_SDK_HOME के ​​लिए पसंद किया जा सकता है क्योंकि यह ~ / .android में संग्रहीत किसी भी उपयोगकर्ता विशिष्ट विन्यास को स्थानांतरित करने से बचता है, ताकि अन्य उपयोगकर्ता / वितरण समान AVs का उपयोग कर सकें। लिनक्स डेबियन पर अच्छी तरह से काम किया।
जॉन

24

फ़ाइल "virtual_android2.2.ini" को "C: \ Documents and Settings {आपके विंडोज़ लॉगिन" .android \ avd \ "में संशोधित करें:

target=android-8
path=E:\android_workspace\avd\virtual_android2.2.avd

और फ़ोल्डर "virtual_android2.2.avd" को "C: \ Documents and Settings {आपकी विंडोज़ लॉगिन} .android \ avd \" से "E: \ android_workspace \ avd \" में ले जाएं।


यह मेरे लिए काम किया! प्रत्येक एमुलेटर के लिए ऐसा करने के लिए थोड़ा क्लिंकी, जो मैं बनाता हूं
चकी

शुक्रिया मुझे बचा लिया !!
शहाना करीन

17

Android उपकरण निर्देशिका पर जाएं। Android.bat कमांड फ़ाइल को संपादित करें। कमांड फ़ाइल के अंत में, इसके समान एक रेखा खोजें

call %java_exe% -Djava.ext.dirs=%java_ext_dirs% -Dcom.android.sdkmanager.toolsdir="%tools_dir%" -Dcom.android.sdkmanager.workdir="%work_dir%" -jar %jar_path% %*

और प्रतिस्थापित करें

call %java_exe%

साथ में

call %java_exe% -Duser.home={your_prefer_dir}

जहां {your_prefer_dire} बिना ब्रेसिज़ के आपकी पसंदीदा निर्देशिका है, लेकिन डबलक्वाट्स जोड़ें,

जैसे

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"

2
यह मेरे लिए काम किया, जबकि स्वीकृत जवाब नहीं था। इसके अलावा, यह वास्तव में उत्तर देता है कि ओपी ने क्या पूछा, जो कि उपयोगकर्ता होम डायरेक्टरी से दूसरे एवीडी निर्देशिका में बदलना था, न कि अन्य तरीके से।
एडम बर्ले

यह नहीं किया जाना चाहिए! SDK प्रबंधक इसके बारे में शिकायत करता है और इसे नया फ़ोल्डर स्थान नहीं मिलता है ... उपयोगकर्ता वातावरण के तहत ANDROID_SDK_HOME का उपयोग करें और अपने कंप्यूटर को पुनरारंभ करने में मदद कर सकता है - [.android फ़ोल्डर% android_sdk_home%] में बनाया जाएगा
डेविड

16

आधिकारिक दस्तावेज के आधार पर https://developer.android.com/studio/command-line/variables.html आपको ANDROID_AVD_HOME पर्यावरण संस्करण बदलना चाहिए :

एमुलेटर पर्यावरण चर

डिफ़ॉल्ट रूप से, एमुलेटर $ Home / .android / और AVD डेटा के तहत $ HOME / .android / avd / के तहत कॉन्फ़िगरेशन फ़ाइलों को संग्रहीत करता है। आप निम्न परिवेश चर सेट करके डिफ़ॉल्ट को ओवरराइड कर सकते हैं। एमुलेटर -व्ड कमांड $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd /, और $ HOME / .android / avd / में मानों के क्रम में avd निर्देशिका खोजता है। एमुलेटर पर्यावरण चर मदद के लिए, कमांड लाइन पर एमुलेटर -हेल-एनवायरनमेंट टाइप करें। एमुलेटर कमांड-लाइन विकल्पों के बारे में जानकारी के लिए, कमांड लाइन से एमुलेटर को नियंत्रित करें देखें।

  • ANDROID_EMULATOR_HOME : उपयोगकर्ता-विशिष्ट एमुलेटर कॉन्फ़िगरेशन निर्देशिका के लिए पथ सेट करता है। डिफ़ॉल्ट स्थान
    $ ANDROID_SDK_HOME / .android / है।
  • ANDROID_AVD_HOME : निर्देशिका के लिए पथ को सेट करता है जिसमें सभी AVD- विशिष्ट फाइलें होती हैं, जिसमें ज्यादातर बहुत अधिक डिस्क चित्र होते हैं। डिफ़ॉल्ट स्थान $ ANDROID_EMULATOR_HOME / avd / है। डिस्क स्थान पर डिफ़ॉल्ट स्थान कम होने पर आप एक नया स्थान निर्दिष्ट करना चाह सकते हैं।

ANDROID_AVD_HOME बदलने या सेट करने के बाद आपको ~ उपयोगकर्ता / .android / avd / के अंदर सभी सामग्री को अपने नए स्थान पर ले जाना होगा और प्रत्येक एमुलेटर की इनआई फ़ाइल में पथ बदलना होगा, बस इसे अपने नए पथ से बदल दें


1
इसका उत्तर होना चाहिए। धन्यवाद।
नेड

13

.androidआप इसे जहाँ भी चाहें ले जाएँ ।

फिर, इस तरह एक सिमलिंक बनाएं:

# In your home folder
$ ln -s /path/to/.android/ .

यह बस लिनक्स को बताता है कि जब भी पथ ~ /.androidको किसी भी एप्लिकेशन द्वारा संदर्भित किया जाता है, तो इसे लिंक करें /path/to/.android


साभार @ prakharsingh95
टोनीमेनू

6

चेक इस बाहर। फ़ाइलों को रखने के लिए निर्दिष्ट androidकरने के लिए आदेश का उपयोग करना avd

-p --path     Location path of the directory where the new AVD will be created

क्या आपको सेटअप उपयोगिता के माध्यम से ऐसा करने का कोई तरीका पता है और इसे किसी विशेष स्थान पर डिफ़ॉल्ट करने के लिए सेट किया गया है?
प्राइमहंटर 326

ज़रुरी नहीं। मैं विंडोज़ का उपयोग भी नहीं करता :(
मैकार्से

खैर जैसे मैंने कहा कि यह कोई बड़ी बात नहीं है, बस सोचा था कि इसे नियंत्रित करने के लिए कोई रास्ता होगा और यह देखते हुए कि पूरा एसडीके पैकेज कितना मॉड्यूलर है। आपकी सहायताके लिए धन्यवाद!
प्राइमहंटर 326

ऊपर दिया गया लिंक मृत है ( developer.android.com/intl/zh-TW/guide/developing/tools/… )
Jeff Mergler

6

विंडोज 10 पर विजुअल स्टूडियो 2017 के लिए

C:\Users\YOURUSERNAME\.androidफ़ोल्डर को कॉपी करें (उदाहरण के लिए)E:\avd

पर्यावरण चर विंडो खोलें:

  1. सेटिंग्स में जाएं और सिस्टम पर क्लिक करें।
  2. बाईं ओर, नीचे के बारे में क्लिक करें और नीचे सिस्टम जानकारी चुनें।
  3. नई विंडो में, बाईं ओर उन्नत सिस्टम सेटिंग्स पर क्लिक करें।
  4. परिणामी विंडो के नीचे पर्यावरण चर पर क्लिक करें।

एक नया चर जोड़ें:

  • चर का नाम: ANDROID_SDK_HOME
  • परिवर्तनीय मूल्य: निर्देशिका का पथ (उदा E:\avd)

.androidचर मान में शामिल न करें ।

Visual Studio को पुनरारंभ करें।

एसडीके और एनडीके स्थान बदलने के लिए यहां जाएं:

उपकरण -> विकल्प -> ज़ामरीन -> Android सेटिंग


4

आप नए AVD के लिए .ini फ़ाइल को बदल सकते हैं:

target=android-7
path=C:\Users\username\.android\avd\VIRTUAL_DEVICE_NAME.avd

मुझे नहीं पता कि .ini फ़ाइल को कहाँ संग्रहीत किया जाना चाहिए निर्दिष्ट करने के लिए :)


4

पर्यावरण चर ANDROID_AVD_HOMEका उपयोग उस निर्देशिका को परिभाषित करने के लिए किया जा सकता है जिसमें AVD प्रबंधक AVD INI फ़ाइलों की तलाश करेगा और इसलिए इसका उपयोग आभासी उपकरणों के स्थान को बदलने के लिए किया जा सकता है;

डिफ़ॉल्ट मान %USERPROFILE%\.android\avdविंडोज (या ~/.android/avdलिनक्स पर) पर है।

%USERPROFILE%\.androidविंडोज पर पूरी निर्देशिका के लिए एक लिंक भी बनाया जा सकता है (या ~/.androidलिनक्स पर निर्देशिका के लिए एक सह-लिंक )।

AVDs को स्थानांतरित करते समय, pathAVD INI फ़ाइल में प्रविष्टि को तदनुसार अद्यतन करने की आवश्यकता होती है।


यह ANDROID_AVD_HOME पर्यावरण चर को ANDROID_SDK_HOME के ​​लिए पसंद किया जा सकता है क्योंकि यह ~ / .android में संग्रहीत किसी भी उपयोगकर्ता विशिष्ट कॉन्फिगरेशन को स्थानांतरित करने से बचता है क्योंकि अन्य उपयोगकर्ता / वितरण समान एवीएस का उपयोग कर सकते हैं। लिनक्स पर, मैंने अपने ~ / .profile में ANDROID_AVD_HOME निर्यात किया और यह अच्छी तरह से काम करता है।
जॉन

3

ANDROID_SDK_HOME को पर्यावरण चर के साथ खिलवाड़ किए बिना निर्दिष्ट करने का एक और तरीका (विशेषकर जब ec2 का उपयोग करते हुए) बस ग्रहण का एक शॉर्टकट बनाएं और लक्ष्य के रूप में निम्न जोड़ें

C: \ Windows \ System32 \ cmd.exe / C "setx ANDROID_SDK_HOW अपने AVD पथ / M और अपने ECLIPSE.EXE पथ "

जब भी आप ग्रहण लॉन्च करेंगे, यह ANDROID_SDK_HOME सिस्टम वैरिएबल के रूप में सेट होगा।

एचटीएच पॉल


3

कृपया निम्नलिखित पर ध्यान दें: Android उपकरण निर्देशिका में android.bat को संशोधित करना, जैसा कि पिछले उत्तर में सुझाया गया है, समस्याएँ पैदा कर सकता है।

यदि आप ऐसा करते हैं, तो आपके पास .android निर्देशिका को गैर-डिफ़ॉल्ट स्थान पर वैध रूप से रखने के लिए है तो एंड्रॉइड स्टूडियो द्वारा सूचीबद्ध AVDs ("टूल> एंड्रॉइड> AVD प्रबंधक") और AVVs द्वारा सूचीबद्ध के बीच एक असंगति हो सकती है। sdk कमांड लाइन टूल "android avd"।

मुझे लगता है कि Android स्टूडियो, अपने आंतरिक AVD प्रबंधक के साथ, android.bat संशोधित पथ का उपयोग नहीं करता है; यह AVD का पता लगाने के लिए ANDROID_SDK_HOME चर पर निर्भर करता है।

मेरे अपने परीक्षणों से पता चला है कि Android उपकरण ANDROID_SDK_HOME चर का सही उपयोग करते हैं।

इसलिए, कोई मतलब नहीं है, जहां तक ​​मुझे पता है, android.bat को संशोधित करने में, और पर्यावरण चर का उपयोग करना चाहिए।


3

विंडोज 10 में मुझे वह समस्या थी क्योंकि मेरी सी ड्राइव पूरी हो रही थी और मुझे मुक्त स्थान की आवश्यकता थी, AVD फ़ोल्डर में 14 गिग स्थान था इसलिए मुझे उस फ़ोल्डर को किसी अन्य ड्राइवर के पास ले जाने की आवश्यकता थी, पहला उत्तर मेरे लिए काम नहीं करता इसलिए मैंने इसे ठीक करने के लिए एक और तरीका परीक्षण किया। यह समस्या है, मैं आपके लिए एक तस्वीर बनाता हूं यदि आपके पास भी यही समस्या है, तो आपको सभी फ़ाइलों को .android फ़ोल्डर में किसी अन्य ड्राइव पर स्थानांतरित करने की आवश्यकता नहीं है (इस तरह से काम नहीं) बस एवीडी फ़ोल्डर को स्थानांतरित करें .... android \ avd एक और ड्राइव और .ini फाइलें खोलें और उस फाइल से एवी फ़ोल्डर पथ को नए पथ में बदलें। इस छवि की तरह:

छवि आपको यह देखने में मदद करती है कि पुराने पथ को नए पथ में कैसे बदलें

मुझे उम्मीद है कि यह आपके लिए काम करेगा।


1

मेरे मामले में, मुझे जिस चीज की चिंता है वह है C: ड्राइव डिस्क स्पेस। तो मैंने जो किया है वह ".avd" फ़ोल्डर (फ़ाइल नहीं) को अन्य ड्राइव पर कॉपी कर रहा है, और ".ini" फ़ाइल को वहां छोड़ दें लेकिन इसे स्थानांतरित करने के लिए इंगित करें


1

मुझे लगता है कि सबसे आसान तरीका है स्थानांतरित करने के लिए है avd से फ़ोल्डर C: \ उपयोगकर्ता [USER] .android फ़ोल्डर अपने इच्छित स्थान पर तो में इसे करने के लिए एक प्रतीकात्मक लिंक बनाने C: \ उपयोगकर्ता [USER] .android ही नाम के साथ।

यदि आप आश्चर्य करते हैं कि यह कैसे करना है, तो पहले लिंक शैल एक्सटेंशन स्थापित करें । फोल्डर मूवमेंट के बाद उस पर राइट क्लिक करें और पिक लिंक सोर्स चुनें फिर राइट क्लिक इनएंड्रॉइड फोल्डर और ड्रॉप अस ... सब मेनू में सिम्बॉलिक लिंक चुनें ।


यह काम करता है और ईमानदारी से यह बहुत अधिक होना चाहिए। इसके अतिरिक्त, आप के लिए एक प्रतीकात्मक लिंक बना सकते हैं C:\Users\user\AppData\Local\Android\Sdk\system-images, वह स्थान बहुत अधिक जगह खाता है। आपको किसी भी तृतीय-पक्ष उपकरण का उपयोग करने की आवश्यकता नहीं है, mklink /D system-images D:\path\to\system-imagesबस ठीक काम करता है
गिलहरी

1

मैंने https://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-location का अनुसरण किया ।

  1. "D: \ Android \ .android \ avd" (या कुछ और) एक फ़ोल्डर "C: \ Users \ user \ andandroid \ avd" की प्रतिलिपि बनाना प्रारंभ करें।

  2. एंड्रॉइड स्टूडियो और रनिंग एमुलेटर बंद करें।

  3. दबाएँ Win + Breakऔर खोलें Advanced System Settings। फिर दबाएं Environment Variables। एक उपयोगकर्ता चर जोड़ें ANDROID_SDK_HOME। (मैंने प्रयोग नहीं किया ANDROID_AVD_HOME।) Variable valueफ़ील्ड में लिखें D:\Android। यदि आप एसडीके को किसी अन्य फ़ोल्डर में भी स्थानांतरित करते हैं, तो परिवर्तन करें ANDROID_HOME(मैं इसे बदलना भूल गया और कुछ एमुलेटर लॉन्च नहीं हुए, https://stackoverflow.com/a/57408085/2914140 देखें )।

  4. प्रतीक्षा करें जब तक कि फ़ोल्डर कॉपी करना समाप्त न कर दे और एंड्रॉइड स्टूडियो शुरू न कर दे।

  5. Android Virtual Device Managerएमुलेटर की एक सूची खोलें और देखें। यदि आपको एमुलेटर दिखाई नहीं देते हैं और वे अस्तित्व में हैं, तो संभवत: आपने चरण 3 में उपयोगकर्ता चर मान में गलत पथ दर्ज किया है। इस स्थिति में, एएस को बंद करें, चर को फिर से खोलें और एएस को फिर से खोलें।

  6. कोई भी एमुलेटर शुरू करें। यह राज्य को पुनर्स्थापित करने का प्रयास करेगा, लेकिन यह कभी-कभी विफल हो जाता है । एंड्रॉइड वॉलपेपर के बजाय एक काली स्क्रीन दिखाई दे सकती है।

  7. इस मामले में आप कर सकते हैं:

    ए। अपने एमुलेटर को रीस्टार्ट करें। इस करीबी रनिंग एमुलेटर को करने के लिए, फिर एवीडी मैनेजर में क्लिक करें Cold Boot Now

यहां छवि विवरण दर्ज करें

ख। यदि यह मदद नहीं करता है, तो एमुलेटर सेटिंग्स खोलें, फ़ाइल में पाया गया "D: \ Android \ .android \ avd \ Pixel_API_27.ini"।

यहां छवि विवरण दर्ज करें

एक नए AVD फ़ोल्डर में पथ बदलें। एमुलेटर को फिर से चालू करें।

  1. "C: \ Users \ user \ उपयोगकर्ता .android \ avd" से पुराना AVD फ़ोल्डर हटाएं।

0

ANDROID_SDK_HOME ने मेरे लिए Windows 8 x64 पर भी काम किया है, सभी स्थान भी खोजें (मेरे मामले में यह d: \। Android था) और इसे हटा दें। अब आपको इसकी आवश्यकता नहीं होगी।


0

एवीडी प्रबंधक में, एवीडी को एक लक्ष्य के साथ सेट करने के बाद Google APIs, रन में त्रुटि हो रही थी।

विस्तार से दिखाया गया है: "AVD अज्ञात लक्ष्य 'Google Inc.:Google API: ......"

स्थापित करने के दौरान (Win7 सिस्टम पर) मैंने एसडीके निर्देशिका स्थान चुना था, C:\Users\... मैंने स्वीकार करने के बजाय उस निर्देशिका को पर्यावरण चर 'पथ' कमांड लाइन में जोड़ा : Android सूची लक्ष्यों ने Google एपिस के एक जोड़े को दिखाया।

ANDROID_SDK_HOMEमेरे स्थापित पथ पर सेट करने से AVD रन की त्रुटि ठीक हो गई।


0

परिवर्तनीय नाम: ANDROID_SDK_HOME
चर मान: C: \ उपयोगकर्ता> उपयोगकर्ता नाम

मेरे लिए काम किया।


0

MacOs एक निर्देशिका सलाह प्राप्त करें

./emulator -help-datadir

डिफ़ॉल्ट निर्देशिका है:

/Users/{your_computer_user_name}/.android

और फिर अपने कस्टम एमुलेटर डायरेक्टरी उदाहरण के लिए एवीडी फ़ोल्डर एडिट .ini फ़ाइल पर जाएं:

पथ = / वॉल्यूम / Macintos / _emulatorandroid / avd / Nexus_5X_API_27.avd path.rel = avd / Nexus_5X_API_27.avd लक्ष्य = android-27

और फिर सेव करें। अब आपका एमुलेटर में बदलाव है

यहां छवि विवरण दर्ज करें

और परिणाम:

यहां छवि विवरण दर्ज करें


0

इसमें प्रमुख 4 चरण हैं। 1. अपने इच्छित स्थान पर .android फ़ोल्डर की प्रतिलिपि बनाएँ जैसा कि मैंने D:\Android\.android 2 में किया था । सेट करें ANDROID_AVD_HOME पर्यावरण चर में ANDROID_AVD_HOME D:\Android\.android\avd 3. जैसे avd name.ini फ़ाइल सामग्री को नए स्थान के साथ बदलें avd.ini.encoding=UTF-8 path=D:\Android\.android\avd\Pixel_2_API_29.avd path.rel=avd\Pixel_2_API_29.avd target=android-29 4. एंड्रॉइड स्टूडियो फिर से शुरू करें


0

1 - एवीडी को नए फ़ोल्डर में ले जाएं

2 - प्रारंभ मेनू> नियंत्रण कक्ष> सिस्टम> उन्नत सिस्टम सेटिंग्स (बाईं ओर)> पर्यावरण चर एक नया उपयोगकर्ता चर जोड़ें: चर नाम: ANDROID_AVD_HOME परिवर्तनीय मूल्य: अपनी पसंद की निर्देशिका के लिए एक रास्ता

3 - फ़ाइल को बदलें। .i नया फ़ोल्डर सेट करें।

4 - एंड्रॉयड स्टूडियो खोलें

कार्य - विंडोज 2010

अधिक निर्देश: https://developer.android.com/studio/command-line/variables

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.