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

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

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

Android Emulator आपको Windows पर Android डिवाइसों के एम्युलेट चलाने देता है, macOS या Linux मशीन पर. Android Emulator, Android ऑपरेटिंग सिस्टम पर चलता है एक वर्चुअल मशीन में किया है, जिसे Android वर्चुअल डिवाइस (एवीडी) कहते हैं. एवीडी में यह शामिल है पूरी तरह से 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 कोडनेम, टैग, और बिल्ड नंबर.

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

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

    अगर आपको x86 64-बिट एवीडी बनाना है, तो 64-बिट टारगेट के लिए lunch चलाएं:

    lunch sdk_phone_x86_64
    
  3. Android Emulator में AVD सिस्टम इमेज को चलाएं:

    emulator
    

ज़्यादा जानकारी के लिए, कमांड-लाइन स्टार्टअप के विकल्प देखें. इमेज 2 में Android Emulator में एवीडी की इमेज है.

Android Emulator में एवीडी की सुविधा है

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

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

एवीडी सिस्टम में मौजूद इमेज को दूसरों के साथ शेयर करने के लिए, इन निर्देशों का पालन करें. वे ये काम कर सकते हैं Android के साथ अपने AVD सिस्टम इमेज का इस्तेमाल करें 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 फ़ाइल होस्ट करें हो सकता है कि आपके उपयोगकर्ता उस तक पहुंच सकें और उसका URL प्राप्त कर सकें, ताकि उसका उपयोग एवीडी के रूप में किया जा सके. सिस्टम की इमेज का यूआरएल.

  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 पर एम्युलेटर, मल्टी-डिसप्ले एम्युलेशन के साथ भी काम करता है. तो आप कोई विशेष इसमें रीयल हार्डवेयर को सेट अप किए बिना, मल्टी-डिसप्ले एनवायरमेंट की सुविधा मिलती है.

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

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

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