Android वर्चुअल डिवाइस (एवीडी) का इस्तेमाल करने के लिए, Android एमुलेटर में ग्राफ़िकल यूज़र इंटरफ़ेस (जीयूआई) और कमांड-लाइन इंटरफ़ेस (सीएलआई) का इस्तेमाल किया जा सकता है. अपने एनवायरमेंट के लिए सबसे सही वर्कफ़्लो चुनें.
- वर्चुअल डिवाइस बनाना और मैनेज करना जीयूआई, ऐप्लिकेशन के ज़्यादातर डेवलपर और उपयोगकर्ताओं के लिए उपलब्ध एक आसान टूल है.
- कमांड लाइन से एमुलेटर शुरू करना , बेहतर सुविधाओं का इस्तेमाल करने वाले लोगों और ऑटोमेशन के लिए एक आसान तरीका उपलब्ध कराता है. उदाहरण के लिए, एक से ज़्यादा AVD का इस्तेमाल करने या लगातार टेस्टिंग और इंटिग्रेशन सेट अप करने के लिए. शुरू करने के लिए, टूल में दिए गए उदाहरण देखें.
पहले से बने AOSP कार AVD को लॉन्च करना
पहले से बने AOSP Car AVD का इस्तेमाल करके, तुरंत लॉन्च करने और टेस्ट करने के लिए, ci.android.com
से एमुलेटर बिल्ड को डाउनलोड करने और लॉन्च करने के लिए, ओपन सोर्स स्क्रिप्ट का इस्तेमाल करें. इस स्क्रिप्ट की जांच, macOS और Linux पर की गई है.
इस स्क्रिप्ट का इस्तेमाल करने के लिए, आपके पास Curl होना चाहिए.
स्क्रिप्ट चलाने के लिए:
launch_emu.sh
स्क्रिप्ट के कॉन्टेंट को अपनी लोकल फ़ाइल में कॉपी करें. इसके लिए, यह मान लें कि आपने लोकल फ़ाइल के नाम के तौर परlaunch_emu.sh
का इस्तेमाल किया है.- अपनी लोकल स्क्रिप्ट को चलाने लायक बनाएं. उदाहरण के लिए,
chmod +x ./launch_emu.sh
चलाएं. ./launch_emu.sh -h
के साथ स्क्रिप्ट चलाकर, उपलब्ध विकल्प देखें.ci.android.com
पर,aosp-main-throttled
शाखा पर जाएं और हाल ही का वह बिल्ड चुनें जिसमेंsdk_car_x86_64
हरा हो. उदाहरण के लिए, 11370359. अगर आपको बिल्ड की जानकारी नहीं दिखती है, तो अपने Google खाते से लॉग आउट करें और फिर से कोशिश करें.- बिल्ड आईडी के साथ, एम्युलेटर से जुड़ी बाइनरी फ़ाइलें डाउनलोड और इंस्टॉल करें. उदाहरण के लिए,
./launch_emu.sh -i -a 11370359
. - इसके बाद, डाउनलोड और इंस्टॉल किए गए एमुलेटर को लॉन्च करने के लिए,
./launch_emu.sh
का इस्तेमाल किया जा सकता है.-i
या-a
विकल्पों का इस्तेमाल न करें. - कोई दूसरा बिल्ड आईडी डाउनलोड और इंस्टॉल करने के लिए, अपने वर्कस्पेस को खाली करने के लिए
./launch_emu.sh -c
चलाएं. इसके बाद, ऊपर दिए गए चौथे और पांचवें चरण को दोहराएं.
Android एमुलेटर को लॉन्च करते समय, कमांड-लाइन के स्टार्टअप विकल्प तय करने के लिए, -v
विकल्प का इस्तेमाल करें. उदाहरण के लिए:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
AOSP Car AVD बनाना
AOSP कार AVD बनाने की प्रोसेस, फ़ोन के लिए AVD इमेज बनाने (उदाहरण के लिए, aosp_car_x86_64) जैसी ही है:
- डेवलपमेंट एनवायरमेंट सेट अप करने और किसी शाखा की पहचान करने के लिए, सोर्स कंट्रोल टूल देखें. इसके बाद, सोर्स डाउनलोड करना लेख पढ़ें:
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - AVD इमेज बनाएं:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- AVD इमेज चलाएं (ज़रूरत के हिसाब से कमांड-लाइन स्टार्टअप के अन्य विकल्प जोड़ें):
emulator &
उदाहरण के लिए:
पहली इमेज. Android वर्चुअल एमुलेटर की स्क्रीन
इस प्रोसेस के बारे में जानकारी:
- फ़िज़िकल डिवाइस के लिए Android को बनाने की प्रोसेस और एएमबी को बनाने की प्रोसेस एक जैसी होती है. इसलिए, सोर्स को डाउनलोड करने और उसे बनाने में कुछ समय दें.
- दूसरी शाखाओं पर काम करने के लिए,
$ANDROID_BRANCH
को किसी दूसरी शाखा/टैग पर सेट करें. system.img
जैसी एवीडी इमेज,$ANDROID_PRODUCT_OUT
पर बनाई जाती हैं. मुख्य इमेज के बारे में ज़्यादा जानने के लिए, एवीडी सिस्टम डायरेक्ट्री देखें.- README फ़ाइल देखें. इससे आपको पता चलेगा कि एमुलेटर को चलाने के लिए, आपके Android ट्री में पहले से मौजूद एमुलेटर बाइनरी का इस्तेमाल कैसे किया जाता है.
कार के लिए AVD बनाना
नई कार का एवीडी जोड़ना, नया डिवाइस जोड़ने के तरीके से काफ़ी मिलता-जुलता है. उदाहरण के लिए,
1660554
से नया avd_car
एवीडी बनता है.
कार का AVD बनाने के लिए:
- ज़रूरत के हिसाब से कंपनी और डिवाइस फ़ोल्डर बनाएं. इस उदाहरण में
$ANDROID_BUILD_TOP/device/google_car/avd_car
का इस्तेमाल किया गया है. - प्रॉडक्ट मेकफ़ाइल,
avd_car.mk
बनाएं. इससे यह तय होता है कि एवीडी को कैसे बनाया जाए. avd_car_device
नाम का डिवाइस फ़ोल्डर बनाएं, जिसमेंBoardConfig.mk
औरsource.properties
शामिल हों.AndroidProducts.mk
में नयाmakefile
और नयाlunch
विकल्प जोड़ें.- नया
avd_car
AVD बनाने और चलाने के लिए:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
AVD इमेज की ZIP फ़ाइल पैक करना
अपने AVD को पैक करके दूसरों के साथ शेयर किया जा सकता है या किसी दूसरे कंप्यूटर पर इस्तेमाल किया जा सकता है. AVD इमेज की ज़िप फ़ाइल जनरेट करने के लिए, emu_img_zip.mk
का इस्तेमाल करें:
- AVD बनाने के बाद,
emu_img_zip
को टारगेट बनाएं:m emu_img_zip
sdk-repo-linux-system-images
से शुरू होने वाली AVD इमेज की ज़िप फ़ाइल,$ANDROID_PRODUCT_OUT
नाम वाले फ़ोल्डर में बनाई जाती है.
AVD के लिए कर्नेल बनाना
AVD कर्नेल, Android के अन्य कर्नेल से मिलते-जुलते हैं. इनमें सभी इमेज पहले से बनी होती हैं. आम तौर पर, हर Android रिलीज़ के लिए, पहले से बनी स्टैंडर्ड goldfish kernel इमेज का इस्तेमाल किया जा सकता है.
कर्नेल में बदलावों के साथ प्रयोग करने के लिए:
- इन निर्देशों का पालन करें:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- AVD मेकफ़ाइल के हिसाब से, कोडबेस में मौजूद कर्नेल बाइनरी को बदलें. उदाहरण के लिए,
x86_64-vendor.mk
मेंx86_64-kernel.mk
शामिल है.
कर्नेल कोड और कॉन्फ़िगरेशन यहां मौजूद हैं:
आइटम | वैल्यू |
---|---|
शाखा | common-android11-5.4 (Android 11 में इस्तेमाल किया जाता है) |
मेनिफ़ेस्ट | kernel/manifest/common-android11-5.4 |
common-modules/virtual-device | kernel/common-modules/virtual-device/android11-5.4 |
कर्नेल | kernel/common/android11-5.4 |
नई डिवाइस प्रोफ़ाइल बनाना
उपयोगकर्ताओं को Android Studio के AVD मैनेजर में कोई खास AVD बनाने की सुविधा देने के लिए, वर्चुअल डिवाइस बनाना और मैनेज करना लेख पढ़ें.
डिवाइस बनाने वाली कंपनियां, AVD इमेज में शामिल devices.xml
फ़ाइल का इस्तेमाल करके, स्क्रीन साइज़ और डीपीआई जैसी हार्डवेयर की जानकारी दे सकती हैं.
- उदाहरण के लिए,
automotive.xml
में वाहन से जुड़े डिवाइस की प्रोफ़ाइलें देखें. - एचएमआई डेवलपमेंट या प्रोटोटाइप बनाने के लिए, एक ही एवीडी इमेज के लिए फ़ाइल में कई डिवाइस जोड़े जा सकते हैं.
- फ़ाइल को
[ABI]
फ़ोल्डर में, OEM AVD इमेज की ZIP फ़ाइल में शामिल करें. उदाहरण के लिए,x86_64
के तौर पर. - डिवाइस बनाने वाली कंपनियां भी एमुलेटर स्किन बना सकती हैं. उदाहरण के लिए, बेहतर UX के लिए अतिरिक्त हार्डवेयर बटन तय करने के लिए. यह सुविधा, डेवलपर वर्कफ़्लो के लिए ही नहीं, बल्कि यूज़र एक्सपीरियंस (यूएक्स) से जुड़ी रिसर्च और समीक्षा जैसे अन्य कामों के लिए भी काम की है.
AVD इमेज एक्सएमएल फ़ाइल बनाना
डिवाइस बनाने वाली कंपनियां, Android Studio के लिए AVD इमेज एक्सएमएल फ़ाइल बना सकती हैं, ताकि उसे डाउनलोड किया जा सके.
- उदाहरण के लिए, AAOS AVD इमेज एक्सएमएल फ़ाइल,
sys-img2-1.xml
देखें. - डिवाइस बनाने वाली कंपनियां, Android एमुलेटर के लाइसेंस के साथ, अपने टारगेट उपयोगकर्ताओं के लिए OEM AVD लाइसेंस का अपना समझौता तय कर सकती हैं. इसके लिए, वे 'भरोसे के आधार पर' सिस्टम का इस्तेमाल कर सकती हैं. ऐसा लाइसेंस शामिल करने पर, Android Studio को उपयोगकर्ता की सहमति मिल जाती है.
इमेज बनाने के लिए:
- AVD इमेज की ZIP फ़ाइल तैयार करें.
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
को अनज़िप करें.x86_64
फ़ोल्डर मेंdevices.xml
जोड़ें. इसके बाद, फ़ाइल को ज़िप फ़ाइल में कंप्रेस करें. उदाहरण के लिए,oem_avd_img_x86_64.zip
के तौर पर.oem-sys-img2-1.xml
अपडेट करें.- ज़िप फ़ाइल का नाम, साइज़, और SHAsum अपडेट करें (
tools
में एक्सएमएल फ़ाइलों के सैंपल दिए गए हैं).
उदाहरण के लिए, Google Cloud Storage पर AVD को होस्ट करने के लिए, स्टोरेज बकेट बनाना लेख पढ़ें.
एवीडी को अपलोड करने और सार्वजनिक तौर पर ऐक्सेस करने के लिए, डेटा को सार्वजनिक करना लेख पढ़ें:
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
AVD इमेज SDK टूल के ऐड-ऑन का यूआरएल फ़ॉर्मैट यह है: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
.
उदाहरण के लिए, अगर BUCKET_NAME aaos-avd है, तो यूआरएल: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
होगा.
Android Studio के उपयोगकर्ताओं के साथ AVD इमेज शेयर करना
आपके उपयोगकर्ता, AVD इमेज डाउनलोड कर सकें और Android Studio की मदद से आपके AVD का इस्तेमाल कर सकें, इसके लिए आपके पास SDK टूल का ऐड-ऑन एक्सएमएल फ़ाइल उपलब्ध कराने का विकल्प है. ज़्यादा जानकारी के लिए, आईडीई और SDK टूल अपडेट करना लेख पढ़ें.
नेटवर्क से AVD डाउनलोड करने के लिए:
- इमेज की ज़िप फ़ाइल और एक्सएमएल फ़ाइलों को सर्वर पर होस्ट करें.
- अपने टारगेट किए गए उपयोगकर्ताओं को यूआरएल दें.
- (ज़रूरी नहीं) उपयोगकर्ता नाम और पासवर्ड के हिसाब से ऐक्सेस को सीमित करें.
इसके अलावा, डेवलपमेंट की प्रोसेस को तेज़ करने के लिए, AVD को किसी लोकल डायरेक्ट्री में डाउनलोड करें:
- एक्सएमएल फ़ाइलों और एक्सएमएल फ़ाइल में बताए गए सभी आर्टफ़ैक्ट को
ADDON_DIR
नाम वाले फ़ोल्डर में सेव करें. उदाहरण के लिए, सभी AVD इमेज की ZIP फ़ाइलें. - यूआरएल को
file://$ADDON_DIR/oem-sys-img2-1.xml
के तौर पर डालें.