डेवलपमेंट प्लैटफ़ॉर्म के तौर पर Android वर्चुअल डिवाइस

Android वर्चुअल डिवाइस (एवीडी) का इस्तेमाल करने के लिए, Android एम्युलेटर ग्राफ़िकल यूज़र इंटरफ़ेस (जीयूआई) और कमांड लाइन इंटरफ़ेस (सीएलआई) के साथ काम करता है. आप आपके वातावरण के लिए सबसे अच्छा वर्कफ़्लो.

प्री-बिल्ट का इस्तेमाल करके, एओएसपी कार का एवीडी लॉन्च करना

पहले से बनी एओएसपी कार एवीडी की मदद से, इसे तुरंत लॉन्च और टेस्ट करने के लिए, ओपन सोर्स स्क्रिप्ट का इस्तेमाल करके डाउनलोड करें और इससे एम्युलेटर बिल्ड को लॉन्च किया जा सकता है. ci.android.com. स्क्रिप्ट की जांच यहां की गई है macOS और Linux.

इस स्क्रिप्ट का इस्तेमाल करने के लिए, आपको Curl की ज़रूरत होगी.

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

  1. कॉपी करें launch_emu.sh यह मानते हुए कि आप 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 चलाकर, अपने पर क्लिक करें और फिर ऊपर दिए गए चौथे और चरण 5 को दोहराएं.

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

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

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

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

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

    पहला डायग्राम. Android वर्चुअल एम्युलेटर की स्क्रीन

    इस प्रोसेस के बारे में ज़रूरी जानकारी:

    • बिल्ड की प्रोसेस वही है जो Android को बनाने के लिए ज़रूरी है को डाउनलोड करने और उसे बनाने के लिए थोड़ा समय दें.
    • अन्य ब्रांच पर काम करने के लिए, $ANDROID_BRANCH को दूसरे ब्रांच पर सेट करें ब्रांच/टैग.
    • एवीडी इमेज, जैसे कि system.img, $ANDROID_PRODUCT_OUT पर बनाई गई हैं. मुख्य इमेज के बारे में ज़्यादा जानने के लिए, यह देखें एवीडी सिस्टम डायरेक्ट्री.
    • ज़्यादा जानकारी के लिए, README फ़ाइल, ताकि यह पता लगाया जा सके कि आपके Android ट्री में पहले से बनी एम्युलेटर बाइनरी का इस्तेमाल इन कामों के लिए कैसे किया जाता है एम्युलेटर को चला सकते हैं.

कार का एवीडी बनाएं

नई कार का एवीडी जोड़ना करीब-करीब इसके जैसा है नया डिवाइस जोड़ना. उदाहरण के लिए, 1660554 , एक नया avd_car एवीडी बनाता है.

कार एवीडी बनाने के लिए:

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

एवीडी इमेज की ज़िप फ़ाइल पैक करें

एवीडी को पैक करके, दूसरों के साथ शेयर किया जा सकता है या किसी दूसरे पर इस्तेमाल किया जा सकता है कंप्यूटर पर सेव करें. emu_img_zip.mk का इस्तेमाल करें AVD इमेज ज़िप फ़ाइल जनरेट करने के लिए:

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

कोई 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. एवीडी मेकफ़ाइल के हिसाब से, कोड बेस में कर्नेल बाइनरी को बदलें. उदाहरण के लिए, 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

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

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

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

एवीडी इमेज की एक्सएमएल फ़ाइल बनाएं

डिवाइस मैन्युफ़ैक्चरर, Android Studio के लिए AVD इमेज की एक्सएमएल फ़ाइल बना सकते हैं, ताकि उसे डाउनलोड किया जा सके इसे.

  • उदाहरण के लिए, AAOS एवीडी इमेज एक्सएमएल फ़ाइल, sys-img2-1.xml देखें.
  • डिवाइस बनाने वाली कंपनियां, टारगेट किए गए उपयोगकर्ताओं के लिए, OEM के एवीडी लाइसेंस का अपना कानूनी समझौता तय कर सकती हैं (ऑनर सिस्टम का इस्तेमाल करते हुए). Android पर अगर ऐसा लाइसेंस शामिल किया जाता है, तो Studio को उपयोगकर्ता की सहमति मिल जाती है.

इमेज बनाने के लिए:

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

उदाहरण के लिए, Google Cloud Storage पर एवीडी होस्ट करने के लिए, बनाना देखें स्टोरेज बकेट.

एवीडी को सार्वजनिक तौर पर उपलब्ध कराने और अपलोड करने के लिए, यहां जाएं डेटा को सार्वजनिक बनाना:

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 इमेज डाउनलोड कर सकें और Android Studio के ज़रिए आपके AVD का इस्तेमाल कर सकें. कोई SDK ऐड-ऑन एक्सएमएल फ़ाइल उपलब्ध कराएं. जानकारी के लिए, यह देखें IDE और SDK टूल अपडेट करें.

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

  1. सर्वर पर इमेज की ZIP फ़ाइल और एक्सएमएल फ़ाइलें होस्ट करें.
  2. टारगेट किए गए लोगों को यूआरएल दें.
  3. (ज़रूरी नहीं) उपयोगकर्ता नाम और पासवर्ड से ऐक्सेस सीमित करें.

इसके अलावा, डेवलपमेंट की रफ़्तार को तेज़ करने के लिए, एवीडी को लोकल डायरेक्ट्री में डाउनलोड करें:

  1. एक्सएमएल फ़ाइल और सभी आर्टफ़ैक्ट को किसी फ़ोल्डर में सेव करें (उदाहरण के लिए, सभी एवीडी इमेज ज़िप फ़ाइलें) को ADDON_DIR नाम दिया गया.
  2. यूआरएल को file://$ADDON_DIR/oem-sys-img2-1.xml के तौर पर बताएं.