Android Emulator वर्चुअल डिवाइसों का इस्तेमाल करना

ऐसे Android डिवाइस के एम्युलेशन बनाने के लिए Android Emulator का इस्तेमाल किया जा सकता है जो आपकी पसंद के मुताबिक Android सिस्टम इमेज चलाते हैं. इसके अलावा, Android Emulator एम्युलेटर में, मल्टी-डिसप्ले की सुविधा भी जोड़ी जा सकती है.

Android Emulator का आर्किटेक्चर

Android Emulator से आप Android ऑपरेटिंग सिस्टम को Android वर्चुअल डिवाइस (AVD) नाम की वर्चुअल मशीन पर चला सकते हैं. हर एवीडी में Android सॉफ़्टवेयर का पूरा स्टैक होता है और यह ऐसे चलता है जैसे कि वह किसी डिवाइस पर चल रहा हो. पहली इमेज में Android Emulator का हाई-लेवल आर्किटेक्चर दिखाया गया है. एम्युलेटर के बारे में ज़्यादा जानकारी के लिए, Android Emulator पर ऐप्लिकेशन चलाना लेख देखें.

Android Emulator आर्किटेक्चर.

पहला डायग्राम. Android Emulator आर्किटेक्चर.

एवीडी इमेज बनाएं

हर एवीडी में एक Android सिस्टम इमेज होती है, जो एवीडी में चलती है. एवीडी मैनेजर में, सिस्टम की कुछ इमेज शामिल होती हैं. इसके अलावा, अपने सोर्स कोड से कस्टम एवीडी सिस्टम इमेज बनाई जा सकती हैं. साथ ही, उन्हें चलाने के लिए डिवाइस के एम्युलेशन भी बनाए जा सकते हैं.

एवीडी सिस्टम इमेज बनाने और चलाने के लिए:

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

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

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

  1. एवीडी सिस्टम की इमेज बनाएं. यह ठीक वैसा ही है जैसा Android डिवाइस के सिस्टम की इमेज बनाने से होता है. उदाहरण के लिए, x86 64-बिट एवीडी बनाने के लिए:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
    
  2. Android Emulator में AVD सिस्टम इमेज को चलाएं:

    emulator
    

एम्युलेटर को चलाने के बारे में ज़्यादा जानकारी के लिए, कमांड-लाइन स्टार्टअप के विकल्प देखें. दूसरी इमेज में, एवीडी वाले Android एम्युलेटर का उदाहरण दिखाया गया है:

Android Emulator में एवीडी की इमेज है.

दूसरा डायग्राम. Android Emulator में एवीडी की इमेज है.

एवीडी सिस्टम की इमेज शेयर करें, ताकि अन्य लोग Android Studio की मदद से उनका इस्तेमाल कर सकें

एवीडी सिस्टम में मौजूद इमेज को दूसरों के साथ शेयर करने के लिए, इन निर्देशों का पालन करें. ऐप्लिकेशन डेवलप करने और उनकी जांच करने के लिए, वे Android Studio पर आपके एवीडी सिस्टम की इमेज का इस्तेमाल कर सकते हैं.

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

    Android 13 और उसके बाद के वर्शन के लिए, emu_img_zip कमांड का इस्तेमाल करें:

    $ make emu_img_zip
    

    इससे एक sdk-repo-linux-system-images-eng.[username]].zip फ़ाइल जनरेट होती है.

    Android 12 और उससे पहले के वर्शन के लिए, sdk_repo कमांड का इस्तेमाल करें:

    $ make -j32 sdk sdk_repo
    

    make sdk sdk_repo निर्देश, aosp-main/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 फ़ाइल को किसी ऐसी जगह पर होस्ट करें जहां आपके उपयोगकर्ता इसे ऐक्सेस कर सकें. साथ ही, फ़ाइल का यूआरएल पाएं, ताकि उसे एवीडी सिस्टम इमेज यूआरएल के तौर पर इस्तेमाल किया जा सके.

  3. Android 12 और उससे पहले वाले वर्शन के लिए, repo-sys-img.xml में इसी हिसाब से बदलाव करें:

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

कस्टम एवीडी इमेज का इस्तेमाल करने के लिए, एसडीके मैनेजर में यह तरीका अपनाएं:

  1. कस्टम अपडेट साइट यूआरएल को SDK टूल के अपडेट की साइट के तौर पर जोड़ें.

    इससे आपकी पसंद के मुताबिक एवीडी सिस्टम की इमेज, System Images के पेज पर जोड़ दी जाती है.

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

मल्टी-डिसप्ले की सुविधा जोड़ें

Android 10 में मल्टी-डिसप्ले की सुविधा को बेहतर बनाया गया है ताकि ऑटो और डेस्कटॉप मोड जैसे इस्तेमाल के ज़्यादा उदाहरण दिए जा सकें. Android Emulator, मल्टी-डिसप्ले एम्युलेशन के साथ भी काम करता है. इससे असल हार्डवेयर सेट अप किए बिना, एक खास मल्टी-डिसप्ले एनवायरमेंट बनाया जा सकता है.

एवीडी में मल्टी-डिसप्ले की सुविधा जोड़ी जा सकती है. इसके लिए, ये बदलाव करें या इन सीएल में से चेरी को चुनें.

  • फ़ाइल में इन लाइनों को जोड़कर, मल्टी-डिसप्ले की सेवा देने वाली कंपनी को बिल्ड में जोड़ें 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
    

यहां दिए गए सोर्स से, एम्युलेटर की नई सुविधाओं और रिलीज़ की जानकारी को खोजा जा सकता है: