Android Emulator का इस्तेमाल करके, Android डिवाइसों के इम्यूलेशन बनाए जा सकते हैं. ये इम्यूलेशन, आपके कस्टम Android सिस्टम इमेज को चलाते हैं. इसके अलावा, Android Emulator के इम्यूलेशन में मल्टी-डिसप्ले की सुविधा जोड़ी जा सकती है.
Android Emulator का आर्किटेक्चर
Android Emulator, Android ऑपरेटिंग सिस्टम को Android वर्चुअल डिवाइस (AVD) नाम की वर्चुअल मशीन में चलाता है. हर एवीडी में, पूरा Android सॉफ़्टवेयर स्टैक होता है. यह ऐसे काम करता है जैसे किसी फ़िज़िकल डिवाइस पर काम कर रहा हो. पहली इमेज में, Android Emulator के हाई-लेवल आर्किटेक्चर के बारे में बताया गया है. एम्युलेटर के बारे में ज़्यादा जानने के लिए, Android Emulator पर ऐप्लिकेशन चलाना लेख पढ़ें.
पहली इमेज. Android Emulator का आर्किटेक्चर.
AVD इमेज बनाना
हर एवीएम में एक Android सिस्टम इमेज शामिल होती है, जो उस एवीएम में चलती है. AVD Manager में कुछ सिस्टम इमेज शामिल होती हैं. इसके अलावा, सोर्स कोड से अपनी पसंद के मुताबिक एवीडी सिस्टम इमेज बनाई जा सकती हैं. साथ ही, उन्हें चलाने के लिए डिवाइस इम्यूलेशन बनाए जा सकते हैं.
AVD सिस्टम इमेज बनाने और चलाने के लिए:
Android सोर्स कोड डाउनलोड करें:
mkdir aosp-android-latest-release; cd aosp-android-latest-releaserepo init -urepo sync -j24
अगर आपको Android के अन्य वर्शन बनाने हैं, तो आपको उनके ब्रांच के नाम Android की सार्वजनिक रिपॉज़िटरी में मिल सकते हैं. ये Android के कोडनेम, टैग, और बिल्ड नंबर से मैप होते हैं.
AVD सिस्टम इमेज बनाएं. यह प्रोसेस, Android डिवाइस की सिस्टम इमेज बनाने की प्रोसेस जैसी ही है. उदाहरण के लिए, x86 64-बिट AVD बनाने के लिए:
source ./build/envsetup.shlunch sdk_phone_x86_64make -j32Android Emulator में AVD सिस्टम इमेज चलाएं:
emulator
एम्युलेटर चलाने के बारे में ज़्यादा जानकारी के लिए, कमांड-लाइन स्टार्टअप के विकल्प देखें. दूसरी इमेज में, Android Emulator पर चल रहे AVD का उदाहरण दिखाया गया है:
दूसरी इमेज. Android Emulator, AVD चला रहा हो.
AVD सिस्टम इमेज शेयर करना, ताकि दूसरे लोग उन्हें Android Studio के साथ इस्तेमाल कर सकें
AVD की सिस्टम इमेज को दूसरों के साथ शेयर करने के लिए, इन निर्देशों का पालन करें. वे ऐप्लिकेशन डेवलप और टेस्ट करने के लिए, Android Studio के साथ आपकी AVD सिस्टम इमेज का इस्तेमाल कर सकते हैं.
ज़्यादा
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_repomake sdk sdk_repoकमांड से,aosp-android-latest-release/out/host/linux-x86/sdk/sdk_phone_x86में दो फ़ाइलें बनती हैं:sdk-repo-linux-system-images-eng.[username].ziprepo-sys-img.xml
फ़ाइल को ऐसी जगह पर होस्ट करें
sdk-repo-linux-system-images-eng.[username].zipजहां आपके उपयोगकर्ता उसे ऐक्सेस कर सकें. इसके बाद, AVD सिस्टम इमेज यूआरएल के तौर पर इस्तेमाल करने के लिए, उसका यूआरएल पाएं.Android 12 और इससे पहले के वर्शन के लिए,
repo-sys-img.xmlमें इस तरह बदलाव करें:- एवीडी सिस्टम इमेज यूआरएल में
<sdk:url>को अपडेट करें. - फ़ाइल में हुए अन्य अपडेट के बारे में जानने के लिए, sdk-sys-img-03.xsd देखें.
repo-sys-img.xmlको ऐसी जगह पर होस्ट करें जहां आपके उपयोगकर्ता इसे ऐक्सेस कर सकें. साथ ही, कस्टम अपडेट साइट के यूआरएल के तौर पर इस्तेमाल करने के लिए, इसका यूआरएल पाएं.
- एवीडी सिस्टम इमेज यूआरएल में
कस्टम एवीडी इमेज का इस्तेमाल करने के लिए, एसडीके मैनेजर में यह तरीका अपनाएं:
कस्टम अपडेट साइट के यूआरएल को एसडीके अपडेट साइट के तौर पर जोड़ें.
इससे, आपकी कस्टम एवीडी सिस्टम इमेज, सिस्टम इमेज पेज पर जुड़ जाती है.
कस्टम एवी़डी सिस्टम इमेज को डाउनलोड करके और उसे चुनकर, एक एवी़डी बनाएं.
मल्टी-डिसप्ले की सुविधा जोड़ना
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
आपको एम्युलेटर की नई सुविधाओं और रिलीज़ की जानकारी इन स्रोतों से मिल सकती है: