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