एक विकास मंच के रूप में Android वर्चुअल डिवाइस

एंड्रॉइड वर्चुअल डिवाइस (एवीडी) का उपयोग करने के लिए, एंड्रॉइड एमुलेटर एक ग्राफिकल यूजर इंटरफेस (जीयूआई) और कमांड लाइन इंटरफेस (सीएलआई) का समर्थन करता है। आप अपने परिवेश के लिए इष्टतम वर्कफ़्लो का चयन करें।

प्रीबिल्ट का उपयोग करके AOSP कार AVD लॉन्च करें

प्रीबिल्ट एओएसपी कार एवीडी का उपयोग करके त्वरित रूप से लॉन्च और परीक्षण करने के लिए, ci.android.com से एक एमुलेटर बिल्ड डाउनलोड और लॉन्च करने के लिए एक ओपन सोर्स स्क्रिप्ट का उपयोग करें। स्क्रिप्ट का परीक्षण MacOS और Linux पर किया गया है।

इस स्क्रिप्ट का उपयोग करने के लिए आपको कर्ल की आवश्यकता होगी।

स्क्रिप्ट चलाने के लिए:

  1. यह मानते हुए कि आप स्थानीय फ़ाइल नाम के रूप में launch_emu.sh उपयोग करते हैं, लॉन्च_एमु.श स्क्रिप्ट सामग्री को अपनी स्थानीय फ़ाइल में कॉपी करें।
  2. अपनी स्थानीय स्क्रिप्ट को निष्पादन योग्य बनाएं। उदाहरण के लिए, chmod +x ./launch_emu.sh चलाएँ।
  3. स्क्रिप्ट को ./launch_emu.sh -h के साथ चलाकर उपलब्ध विकल्पों की जाँच करें।
  4. ci.android.com पर, aosp-main-throttled शाखा पर जाएं और एक हालिया बिल्ड चुनें जिसमें sdk_car_x86_64 हरा है। उदाहरण के लिए, 11370359। यदि आपको बिल्ड जानकारी नहीं दिखाई देती है, तो अपने Google खाते से लॉग आउट करें और पुनः प्रयास करें।
  5. बिल्ड आईडी के साथ एमुलेटर-प्रासंगिक बाइनरी फ़ाइलों को डाउनलोड और इंस्टॉल करें। उदाहरण के लिए, ./launch_emu.sh -i -a 11370359
  6. इसके बाद, आप डाउनलोड और इंस्टॉल किए गए एमुलेटर को लॉन्च करने के लिए ./launch_emu.sh का उपयोग कर सकते हैं ( -i या -a विकल्पों का उपयोग न करें)।
  7. किसी अन्य बिल्ड आईडी को डाउनलोड और इंस्टॉल करने के लिए, अपने कार्यक्षेत्र को साफ़ करने के लिए ./launch_emu.sh -c चलाएँ और फिर ऊपर दिए गए चरण 4 और चरण 5 को दोहराएँ।

एमुलेटर लॉन्च करते समय एंड्रॉइड एमुलेटर कमांड-लाइन स्टार्टअप विकल्प विकल्पों को निर्दिष्ट करने के लिए, -v विकल्प का उपयोग करें। उदाहरण के लिए:

  ./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"

एक AOSP कार AVD बनाएँ

AOSP कार AVD बनाने की प्रक्रिया किसी फ़ोन के लिए AVD छवियां बनाने के समान है (उदाहरण के लिए, aosp_car_x86_64):

  1. विकास परिवेश स्थापित करने और एक शाखा की पहचान करने के लिए, स्रोत नियंत्रण उपकरण देखें। फिर स्रोत डाउनलोड करने की समीक्षा करें:
    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
  2. AVD छवि बनाएँ:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. AVD छवि चलाएँ (आवश्यकतानुसार अतिरिक्त कमांड-लाइन स्टार्टअप विकल्प जोड़ें):
    emulator &

    उदाहरण के लिए:

    चित्र 1. एंड्रॉइड वर्चुअल एमुलेटर स्क्रीन

    इस प्रक्रिया के बारे में नोट्स:

    • क्योंकि निर्माण प्रक्रिया वही है जो किसी भौतिक डिवाइस के लिए एंड्रॉइड बनाने के लिए आवश्यक है, स्रोत को डाउनलोड करने और फिर इसे बनाने के लिए कुछ समय दें।
    • अन्य शाखाओं पर काम करने के लिए, $ANDROID_BRANCH किसी अन्य शाखा/टैग पर सेट करें।
    • AVD छवियां, जैसे system.img , $ANDROID_PRODUCT_OUT पर बनाई जाती हैं। मुख्य छवियों के बारे में अधिक जानने के लिए, AVD सिस्टम निर्देशिका देखें।
    • यह जानने के लिए README फ़ाइल देखें कि आपके एंड्रॉइड ट्री में प्रीबिल्ट एमुलेटर बायनेरिज़ का उपयोग एमुलेटर को चलाने के लिए कैसे किया जाता है।

एक कार AVD बनाएँ

नई कार AVD जोड़ना लगभग नई डिवाइस जोड़ने के समान है। उदाहरण के लिए, 1660554 एक नया avd_car AVD बनाता है।

कार AVD बनाने के लिए:

  1. आवश्यकतानुसार एक कंपनी और एक डिवाइस फ़ोल्डर बनाएं। यह उदाहरण $ANDROID_BUILD_TOP/device/google_car/avd_car का उपयोग करता है।
  2. उत्पाद मेकफ़ाइल, avd_car.mk बनाएं, जो परिभाषित करता है कि AVD कैसे बनाया जाए।
  3. एक डिवाइस फ़ोल्डर बनाएं, avd_car_device , जिसमें BoardConfig.mk और source.properties शामिल हों।
  4. AndroidProducts.mk में नया makefile और नया lunch विकल्प जोड़ें।
  5. नया avd_car AVD बनाने और चलाने के लिए:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
अब आप अपने नए AVD पर अधिकांश HMI और ऐप सुविधाओं को प्रोटोटाइप करने के लिए तैयार हैं।

एक AVD छवि ज़िप फ़ाइल पैक करें

आप अपने AVD को पैक करके दूसरों के साथ साझा कर सकते हैं या किसी अन्य कंप्यूटर पर इसका उपयोग कर सकते हैं। AVD छवि ज़िप फ़ाइल उत्पन्न करने के लिए emu_img_zip.mk का उपयोग करें:

  1. AVD बनाने के बाद, emu_img_zip लक्ष्य बनाएं:
    m emu_img_zip
  2. AVD छवि ज़िप फ़ाइल, sdk-repo-linux-system-images के साथ उपसर्ग करके, $ANDROID_PRODUCT_OUT नामक फ़ोल्डर में बनाई जाती है।

एक AVD कर्नेल बनाएँ

एवीडी कर्नेल अन्य एंड्रॉइड कर्नेल के समान हैं क्योंकि सभी पूर्व-निर्मित छवियां हैं। आम तौर पर, आप मानक गोल्डफ़िश कर्नेल पूर्व-निर्मित छवियों का उपयोग कर सकते हैं जैसा कि प्रत्येक एंड्रॉइड रिलीज़ से होता है।

कर्नेल परिवर्तनों के साथ प्रयोग करने के लिए:

  1. निर्देशों की निम्नलिखित श्रृंखला चलाएँ:
    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/
    
  2. AVD मेकफ़ाइल के अनुसार कोडबेस में कर्नेल बाइनरी को बदलें। उदाहरण के लिए, x86_64-vendor.mk में x86_64-kernel.mk शामिल है।

कर्नेल कोड और कॉन्फ़िगरेशन इस प्रकार स्थित है:

वस्तु कीमत
शाखा common-android11-5.4 (Android 11 में प्रयुक्त)
घोषणापत्र kernel/manifest/common-android11-5.4
सामान्य-मॉड्यूल/वर्चुअल-डिवाइस kernel/common-modules/virtual-device/android11-5.4
गुठली kernel/common/android11-5.4

एक नई डिवाइस प्रोफ़ाइल बनाएं

उपयोगकर्ताओं को एंड्रॉइड स्टूडियो एवीडी मैनेजर में एक विशिष्ट एवीडी बनाने में सक्षम करने के लिए, वर्चुअल डिवाइस बनाएं और प्रबंधित करें देखें। डिवाइस निर्माता AVD छवि में शामिल devices.xml फ़ाइल के उपयोग के माध्यम से अपने स्वयं के हार्डवेयर विनिर्देशों को परिभाषित कर सकते हैं, जैसे स्क्रीन आकार और डीपीआई।

  • उदाहरण के लिए, automotive.xml में ऑटोमोटिव डिवाइस प्रोफ़ाइल देखें।
  • एचएमआई विकास या प्रोटोटाइप के लिए, एक ही एवीडी छवि के लिए फ़ाइल में कई डिवाइस जोड़े जा सकते हैं।
  • फ़ाइल को [ABI] फ़ोल्डर में OEM AVD छवि ज़िप फ़ाइल में शामिल करें। उदाहरण के लिए, x86_64 के रूप में।
  • डिवाइस निर्माता एक एमुलेटर स्किन भी बना सकते हैं। उदाहरण के लिए, उच्च निष्ठा यूएक्स के लिए अतिरिक्त हार्डवेयर बटन को परिभाषित करना। यह न केवल डेवलपर वर्कफ़्लो के लिए उपयोगी है, बल्कि यूएक्स अनुसंधान और समीक्षा जैसे अन्य कार्यों के लिए भी उपयोगी है।

AVD छवि XML फ़ाइल बनाएँ

डिवाइस निर्माता इसे डाउनलोड करने के लिए एंड्रॉइड स्टूडियो के लिए एक AVD इमेज XML फ़ाइल बना सकते हैं।

  • उदाहरण के लिए, AAOS AVD छवि XML फ़ाइल, sys-img2-1.xml देखें।
  • डिवाइस निर्माता एंड्रॉइड एमुलेटर के लाइसेंस के साथ अपने लक्षित उपयोगकर्ताओं (ऑनर सिस्टम को नियोजित करने वाले) के लिए अपने स्वयं के ओईएम एवीडी लाइसेंस समझौते को परिभाषित कर सकते हैं। ऐसा लाइसेंस शामिल होने पर एंड्रॉइड स्टूडियो को उपयोगकर्ता की सहमति मिलती है।

छवि बनाने के लिए:

  1. एक AVD छवि ज़िप फ़ाइल तैयार करें.
  2. ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip अनज़िप करें।
  3. devices.xml को x86_64 फ़ोल्डर में जोड़ें और फिर फ़ाइल को ज़िप फ़ाइल में संपीड़ित करें। उदाहरण के लिए, oem_avd_img_x86_64.zip के रूप में।
  4. oem-sys-img2-1.xml को अपडेट करें।
  5. ज़िप फ़ाइल नाम, आकार और शसुम को अपडेट करें (नमूना XML फ़ाइलें tools में प्रदान की गई हैं)।

उदाहरण के लिए, Google क्लाउड स्टोरेज पर AVD होस्ट करने के लिए, स्टोरेज बकेट बनाना देखें।

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 ऐड-ऑन URL प्रारूप इस प्रकार है: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml । उदाहरण के लिए, यदि BUCKET_NAME aaos-avd है, तो URL है: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml

एंड्रॉइड स्टूडियो उपयोगकर्ताओं के साथ एक AVD छवि साझा करना

ताकि आपके उपयोगकर्ता AVD छवियां डाउनलोड कर सकें और Android स्टूडियो द्वारा आपके AVD का उपयोग कर सकें, आप एक SDK ऐड-ऑन XML फ़ाइल प्रदान कर सकते हैं। विवरण के लिए, आईडीई और एसडीके टूल्स अपडेट करें देखें।

नेटवर्क से AVD डाउनलोड करने के लिए:

  1. छवि ज़िप फ़ाइल और XML फ़ाइलों को सर्वर पर होस्ट करें।
  2. अपने लक्षित उपयोगकर्ताओं को यूआरएल प्रदान करें।
  3. ( वैकल्पिक ) उपयोगकर्ता नाम और पासवर्ड द्वारा पहुंच सीमित करें।

वैकल्पिक रूप से, विकास को गति देने के लिए, AVD को स्थानीय निर्देशिका में डाउनलोड करें:

  1. XML फ़ाइलों और XML फ़ाइल में निर्दिष्ट सभी कलाकृतियों को ADDON_DIR नाम के एक फ़ोल्डर (उदाहरण के लिए, सभी AVD छवि ज़िप फ़ाइलें) में सहेजें।
  2. URL को file://$ADDON_DIR/oem-sys-img2-1.xml के रूप में निर्दिष्ट करें।