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

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

एओएसपी कार एवीडी बनाएं

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

  1. विकास परिवेश स्थापित करने और किसी शाखा की पहचान करने के लिए, स्रोत नियंत्रण उपकरण देखें। फिर स्रोत डाउनलोड करने की समीक्षा करें :
    ANDROID_BRANCH="android11-qpr2-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 aosp_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 को दूसरों के साथ पैक और साझा कर सकते हैं या किसी अन्य कंप्यूटर पर इसका उपयोग कर सकते हैं। एवीडी छवि ज़िप फ़ाइल उत्पन्न करने के लिए emu_img_zip.mk का उपयोग करें:

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

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

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

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

  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 (एंड्रॉइड 11 में प्रयुक्त)
घोषणापत्र kernel/manifest/common-android11-5.4
सामान्य-मॉड्यूल/आभासी-उपकरण kernel/common-modules/virtual-device/android11-5.4
गुठली kernel/common/android11-5.4

एक नया उपकरण प्रोफ़ाइल बनाएं

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

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

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

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

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

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

  1. AVD छवि ज़िप फ़ाइल तैयार करें।
  2. ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip अनज़िप करें।
  3. x86_64 फ़ोल्डर में devices.xml जोड़ें और फिर फ़ाइल को ज़िप फ़ाइल में संपीड़ित करें। उदाहरण के लिए, जैसे 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

Android Studio उपयोगकर्ताओं के साथ AVD छवि साझा करना

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

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

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

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

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