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

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

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

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

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

पहली इमेज. Android Emulator का आर्किटेक्चर.

AVD इमेज बनाना

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

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

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

    mkdir aosp-android-latest-release; cd aosp-android-latest-release
    repo init -u
    repo sync -j24

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

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

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

    emulator

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

Android Emulator, AVD चला रहा है.

दूसरी इमेज. Android Emulator पर AVD चल रहा है.

Android Studio के साथ इस्तेमाल करने के लिए, AVD की सिस्टम इमेज शेयर करना

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

  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-android-latest-release/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 फ़ाइल को ऐसी जगह पर होस्ट करें जहां आपके उपयोगकर्ता इसे ऐक्सेस कर सकें. इसके बाद, इसका यूआरएल पाएं, ताकि इसे AVD की सिस्टम इमेज के यूआरएल के तौर पर इस्तेमाल किया जा सके.

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

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

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

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

    इससे, AVD की आपकी कस्टम सिस्टम इमेज, सिस्टम इमेज वाले पेज पर जुड़ जाती है.

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

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

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

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
    

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