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