Android एमुलेटर वर्चुअल डिवाइसेस का उपयोग करना

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

एंड्रॉइड एमुलेटर आर्किटेक्चर

एंड्रॉइड एमुलेटर आपको विंडोज, मैकओएस या लिनक्स मशीनों पर एंड्रॉइड डिवाइसों के एमुलेशन चलाने की अनुमति देता है। एंड्रॉइड एमुलेटर एंड्रॉइड वर्चुअल डिवाइस (एवीडी) नामक वर्चुअल मशीन में एंड्रॉइड ऑपरेटिंग सिस्टम चलाता है। AVD में पूर्ण Android सॉफ़्टवेयर स्टैक होता है, और यह ऐसे चलता है जैसे कि यह किसी भौतिक उपकरण पर हो। चित्र 1 Android एमुलेटर के उच्च-स्तरीय आर्किटेक्चर का आरेख है। एम्यूलेटर के बारे में अधिक जानकारी के लिए, Android एमुलेटर पर ऐप्स चलाएँ देखें।

एंड्रॉइड एमुलेटर आर्किटेक्चर

चित्र 1. एंड्रॉइड एमुलेटर आर्किटेक्चर

एवीडी छवियों का निर्माण

प्रत्येक AVD में एक Android सिस्टम छवि शामिल होती है, जो उस AVD में चलती है। AVD प्रबंधक में कुछ सिस्टम छवियाँ शामिल हैं। और आप अपने सोर्स कोड से कस्टम AVD सिस्टम इमेज बना सकते हैं और उन्हें चलाने के लिए डिवाइस इम्यूलेशन बना सकते हैं।

AVD सिस्टम छवि बनाने और चलाने के लिए:

  1. Android स्रोत डाउनलोड करें:

    mkdir aosp-master; cd aosp-master
    repo init -u
    repo sync -j24
    

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

  2. AVD सिस्टम छवि बनाएँ। यह एक Android डिवाइस सिस्टम छवि बनाने के समान प्रक्रिया है। उदाहरण के लिए, x86 32-बिट AVD बनाने के लिए:

    mkdir aosp-master; cd aosp-master
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    यदि आप x86 64-बिट AVD बनाना पसंद करते हैं, तो 64-बिट लक्ष्य के लिए lunch चलाएँ:

    lunch sdk_phone_x86_64
    
  3. Android एमुलेटर में AVD सिस्टम इमेज चलाएँ:

    emulator
    

एमुलेटर चलाने के बारे में अधिक जानकारी के लिए कमांड लाइन स्टार्टअप विकल्प देखें। चित्रा 2 एक एवीडी चलाने वाले एंड्रॉइड एमुलेटर का एक उदाहरण दिखाता है।

एवीडी चलाने वाला एंड्रॉइड एमुलेटर

चित्र 2. एवीडी चलाने वाला एंड्रॉइड एमुलेटर

एंड्रॉइड स्टूडियो के साथ उपयोग करने के लिए दूसरों के लिए एवीडी सिस्टम छवियों को साझा करना

अपनी AVD सिस्टम छवियों को दूसरों के साथ साझा करने के लिए इन निर्देशों का पालन करें। वे ऐप्स विकसित करने और उनका परीक्षण करने के लिए Android Studio के साथ आपकी AVD सिस्टम छवियों का उपयोग कर सकते हैं।

  1. अतिरिक्त sdk और sdk_repo पैकेज बनाएं:

    $ make -j32 sdk sdk_repo
    

    यह aosp-master/out/host/linux-x86/sdk/sdk_phone_x86 के तहत दो फाइलें बनाता है:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. फ़ाइल को होस्ट करें sdk-repo-linux-system-images-eng.[username].zip कहीं आपके उपयोगकर्ताओं के लिए सुलभ, और इसका URL AVD सिस्टम छवि URL के रूप में उपयोग करने के लिए प्राप्त करें।

  3. तदनुसार repo-sys-img.xml संपादित करें:

    • अपने AVD सिस्टम छवि URL में <sdk:url> अपडेट करें।
    • फ़ाइल के अन्य अद्यतनों के बारे में जानने के लिए sdk-sys-img-03.xsd देखें।
  4. repo-sys-img.xml को अपने उपयोगकर्ताओं के लिए कहीं पहुंच योग्य स्थान पर होस्ट करें, और इसके URL को कस्टम अपडेट साइट URL के रूप में उपयोग करने के लिए प्राप्त करें।

कस्टम AVD छवि का उपयोग करने के लिए, SDK प्रबंधक में निम्न कार्य करें:

  1. कस्टम अपडेट साइट URL को SDK अपडेट साइट के रूप में जोड़ें

    यह आपकी कस्टम AVD सिस्टम छवि को सिस्टम छवि पृष्ठ पर जोड़ता है।

  2. कस्टम AVD सिस्टम छवि को डाउनलोड करके और चुनकर एक AVD बनाएं

मल्टी-डिस्प्ले सपोर्ट जोड़ना

एंड्रॉइड 10 ऑटो और डेस्कटॉप मोड जैसे अधिक उपयोग के मामलों का बेहतर समर्थन करने के लिए मल्टी-डिस्प्ले (एमडी) को बढ़ाता है। एंड्रॉइड एमुलेटर मल्टी-डिस्प्ले इम्यूलेशन का भी समर्थन करता है। तो आप वास्तविक हार्डवेयर सेट किए बिना एक विशिष्ट बहु-प्रदर्शन वातावरण बना सकते हैं।

आप निम्न परिवर्तन करके या इन CL से चेरी उठाकर किसी AVD में बहु-प्रदर्शन समर्थन जोड़ सकते हैं।

  • build/target/product/sdk_phone_x86.mk फ़ाइल में इन पंक्तियों को जोड़कर बिल्ड में मल्टी-डिस्प्ले प्रदाता जोड़ें:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • इस लाइन को फाइल device/generic/goldfish/data/etc/advancedFeatures.ini में जोड़कर मल्टी-डिस्प्ले फीचर फ्लैग को सक्षम करें:

    MultiDisplay = on
    

आप निम्नलिखित स्रोतों से नवीनतम एम्यूलेटर सुविधाएँ और जानकारी जारी कर सकते हैं: