Android Emulator का इस्तेमाल करके, ऐसे Android डिवाइसों के एमुलेटर बनाए जा सकते हैं जिन पर आपकी पसंद के मुताबिक Android सिस्टम इमेज काम करती हैं. इसके अलावा, Android इम्यूलेटर के इम्यूलेशन में, मल्टी-डिसप्ले की सुविधा जोड़ी जा सकती है.
Android Emulator का आर्किटेक्चर
Android Emulator, Android ऑपरेटिंग सिस्टम को वर्चुअल मशीन में चलाता है. इसे Android वर्चुअल डिवाइस (AVD) कहा जाता है. हर AVD में, Android सॉफ़्टवेयर स्टैक का पूरा वर्शन होता है. यह ठीक उसी तरह काम करता है जैसे कोई फ़िज़िकल डिवाइस करता है. पहले चित्र में, Android एमुलेटर के हाई-लेवल आर्किटेक्चर को दिखाया गया है. एमुलेटर के बारे में ज़्यादा जानने के लिए, Android एमुलेटर पर ऐप्लिकेशन चलाना लेख पढ़ें.
पहली इमेज. Android Emulator का आर्किटेक्चर.
AVD इमेज बनाना
हर AVD में एक Android सिस्टम इमेज होती है, जो उस AVD में चलती है. AVD Manager में कुछ सिस्टम इमेज शामिल होती हैं. साथ ही, अपने सोर्स कोड से कस्टम AVD सिस्टम इमेज बनाई जा सकती हैं और उन्हें चलाने के लिए डिवाइस इम्यूलेशन बनाए जा सकते हैं.
AVD सिस्टम इमेज बनाने और चलाने के लिए:
Android सोर्स डाउनलोड करें:
mkdir aosp-main; cd aosp-main
repo init -u
repo sync -j24
अगर आपको Android के अन्य वर्शन बनाना है, तो उनकी शाखाओं के नाम सार्वजनिक Android रिपॉज़िटरी में देखे जा सकते हैं. ये Android के कोडनेम, टैग, और बिल्ड नंबर से मैप होते हैं.
AVD सिस्टम इमेज बनाएं. यह प्रोसेस, Android डिवाइस की सिस्टम इमेज बनाने की प्रोसेस जैसी ही है. उदाहरण के लिए, x86 64-बिट AVD बनाने के लिए:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
Android एमुलेटर में AVD सिस्टम इमेज चलाने के लिए:
emulator
एमुलेटर चलाने के बारे में ज़्यादा जानने के लिए, कमांड-लाइन स्टार्टअप के विकल्प देखें. दूसरी इमेज में, AVD चलाने वाले Android Emulator का उदाहरण दिखाया गया है:
दूसरी इमेज. AVD चलाने वाला Android Emulator.
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_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
फ़ाइल
sdk-repo-linux-system-images-eng.[username].zip
को ऐसी जगह होस्ट करें जहां आपके उपयोगकर्ता उसे ऐक्सेस कर सकें. साथ ही, AVD सिस्टम इमेज के यूआरएल के तौर पर इस्तेमाल करने के लिए, उसका यूआरएल पाएं.Android 12 और इससे पहले के वर्शन के लिए,
repo-sys-img.xml
में बदलाव करें:<sdk:url>
को अपने AVD सिस्टम इमेज यूआरएल पर अपडेट करें.- फ़ाइल में किए गए अन्य अपडेट के बारे में जानने के लिए, sdk-sys-img-03.xsd देखें.
repo-sys-img.xml
को ऐसी जगह होस्ट करें जहां आपके उपयोगकर्ता इसे ऐक्सेस कर सकें. साथ ही, इसका यूआरएल पाएं, ताकि उसे कस्टम अपडेट साइट के यूआरएल के तौर पर इस्तेमाल किया जा सके.
कस्टम AVD इमेज का इस्तेमाल करने के लिए, SDK Manager में यह तरीका अपनाएं:
कस्टम अपडेट साइट का यूआरएल को SDK टूल अपडेट करने वाली साइट के तौर पर जोड़ें.
इससे, सिस्टम इमेज पेज पर आपकी कस्टम AVD सिस्टम इमेज जुड़ जाती है.
कस्टम AVD सिस्टम इमेज डाउनलोड करके और उसे चुनकर, AVD बनाएं.
मल्टी-डिसप्ले की सुविधा जोड़ना
Android 10 में मल्टी-डिसप्ले की सुविधा को बेहतर बनाया गया है, ताकि ऑटो और डेस्कटॉप मोड जैसे ज़्यादा इस्तेमाल के उदाहरणों के साथ बेहतर तरीके से काम किया जा सके. Android एमुलेटर में भी मल्टी-डिसप्ले एमुलेटर की सुविधा काम करती है. इसलिए, असल हार्डवेयर सेट अप किए बिना, कई डिसप्ले वाला कोई खास एनवायरमेंट बनाया जा सकता है.
नीचे दिए गए बदलाव करके या इन सीएल में से चुनिंदा बदलाव करके, किसी 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
इम्यूलेटर की नई सुविधाओं और रिलीज़ की जानकारी पाने के लिए, इन सोर्स पर जाएं: