डाउनलोड करना, बनाना, और चलाना

इस पेज पर, Cuttlefish पर AAOS SDV को डाउनलोड करने, बिल्ड करने, और चलाने का तरीका बताया गया है.

AAOS एसडीवी का सोर्स कोड पाना

Android सोर्स कोड डाउनलोड करना में दिए गए निर्देशों का पालन करें.

बिल्ड एनवायरमेंट सेट अप करना

अपनी वर्किंग डायरेक्ट्री में जाकर, envsetup.sh स्क्रिप्ट को सोर्स करें, ताकि आपका बिल्ड एनवायरमेंट सेट अप हो सके:

source build/envsetup.sh

यह स्क्रिप्ट कई कमांड इंपोर्ट करती है. इनकी मदद से, Android के सोर्स कोड पर काम किया जा सकता है. इनमें इस पेज पर इस्तेमाल की गई कमांड भी शामिल हैं. स्क्रिप्ट का सोर्स देखने के लिए, platform/build/envsetup.sh देखें. बिल्ट-इन सहायता देखने के लिए, hmm टाइप करें.

कोई टारगेट चुनें

एसडीवी बनाने से पहले, बनाने के लिए टारगेट की पहचान करें. बनाए जाने वाले टारगेट की पहचान करने के लिए, lunch कमांड का इस्तेमाल करें. इसके बाद, उस टारगेट को दिखाने वाली स्ट्रिंग का इस्तेमाल करें जिसे आपको बनाना है. उदाहरण के लिए, Cuttlefish एम्युलेटर के लिए टारगेट बनाने के लिए, इस निर्देश का इस्तेमाल करें:

lunch sdv_core_cf-trunk_staging-userdebug

इस कमांड से, प्रॉडक्ट, रिलीज़ कॉन्फ़िगरेशन, और वैरिएंट को बिल्ड करने के लिए चुना जाता है. साथ ही, इस चुनाव को एनवायरमेंट में सेव किया जाता है.

एसडीवी के लिए lunch टारगेट, lunch डायरेक्ट्री में मौजूद एक अलग Git प्रोजेक्ट में दिए गए हैं.devices/google/sdv device/google/sdv/README.md पर उपलब्ध टारगेट के बारे में पूरी जानकारी देखें. Cuttlefish (cf) के मुख्य टारगेट ये हैं:

  • sdv_core_cf-trunk_staging-userdebug - AAOS SDV Core (sdv_core) की इमेज बनाएं, जो Cuttlefish (cf) पर चलती है.
  • sdv_media_cf-trunk_staging-userdebug - virtIO-वर्चुअलाइज़्ड मीडिया एपीआई (sdv_media) की मदद से, AAOS SDV Core की इमेज बनाएं.
  • sdv_media_har_cf-trunk_staging-userdebug - ऐसी इमेज बनाएं जो AAOS SDV मीडिया (sdv_media_cf) lunch टारगेट को बढ़ाकर, उसमें हाई-अवेलेबिलिटी रेंडरर (एचएआर) शामिल कर सके. HAR, बूट होने पर अपने-आप चालू हो जाता है.
  • sdv_ivi_cf-trunk_staging-userdebug - गाड़ी में सूचना और मनोरंजन की सुविधाएं (आईवीआई) देने वाले सिस्टम की एक इमेज बनाएं. इसमें एसडीवी गेटवे और Java के सैंपल ऐप्लिकेशन शामिल हों.
  • sdv_ivi_cf_ds-trunk_staging-userdebug - ऐसी इमेज बनाएं जो AAOS SDV IVI टारगेट (sdv_ivi_cf) को बढ़ाती हो. साथ ही, इसमें Display Safety के DriverUI और इंस्ट्रूमेंट क्लस्टर को लागू करने की सुविधा शामिल हो.

AAOS SDV बनाना

टारगेट बनाने के लिए, यह कमांड चलाएं. आपके वर्कस्टेशन की खास बातों के आधार पर, पहली बार बिल्ड करने में 30 से 60 मिनट लगते हैं. इसके बाद के बिल्ड में काफ़ी कम समय लगता है.

m

आपकी बनाई गई रिपोर्ट का आउटपुट, $OUT_DIR में दिखता है. अलग-अलग टारगेट बनाने पर, हर टारगेट $OUT_DIR में दिखता है.

Cuttlefish का इस्तेमाल करके, अपने बिल्ड की जांच करना

AAOS SDV बनाने के बाद, Cuttlefish का इस्तेमाल करके अपने बिल्ड की जांच करें.

  1. अपने बिल्ड के साथ Cuttlefish शुरू करने के लिए:

    cvd create

    Cuttlefish, आपके बनाए गए टारगेट (sdv_core_cf-trunk_staging-userdebug) का इस्तेमाल करके चलता है. Cuttlefish के बूट होने के बाद, यह मैसेज दिखता है:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Cuttlefish से कनेक्ट करने के लिए, adb चलाएं.

  3. adb devices चलाकर पुष्टि करें कि आपका बिल्ड चल रहा है. आपको इस तरह का नतीजा दिखेगा:

    List of devices attached
    0.0.0.0:6520 device
  4. डिवाइस को शट डाउन करने के लिए, cvd stop चलाएं.

अलग-अलग बिल्ड के साथ Cuttlefish के कई इंस्टेंस चलाने के लिए, Cuttlefish: मल्टी-टेनेंसी देखें.

समस्या हल करें

इस सेक्शन में, AAOS SDV को डाउनलोड, बिल्ड या चलाने के दौरान होने वाली गड़बड़ियों को ठीक करने का तरीका बताया गया है.

आरबीई से जुड़ी गड़बड़ियां

अगर आपको रिमोट बिल्ड एक्ज़ीक्यूशन (आरबीई) से जुड़ी कोई गड़बड़ी मिलती है, तो .bashrc या .zshrc से USE_RBE और ENABLE_RBE_BOOTSTRAP की परिभाषाएं हटाएं

cvd: VM manager crosvm isn't supported on this machine

अगर Cuttlefish यह रिपोर्ट करता है कि VM मैनेजर crosvm आपके कंप्यूटर पर काम नहीं करता है, तो Cuttlefish को इंस्टॉल करने के लिए यह कमांड चलाएँ:

sudo apt install cuttlefish-common

cvd नहीं मिला

अगर आपको cvd not found गड़बड़ी का मैसेज मिलता है, तो:

  1. अपने बिल्ड को फिर से सेट अप करें.
  2. कोई टारगेट चुनें पर क्लिक करके आगे बढ़ें.

Cuttlefish में क्रैश लूप की समस्या

अगर Cuttlefish क्रैश लूप में चला जाता है, तो:

  1. सभी Cuttlefish इंस्टेंस को रोकने के लिए, cvd stop चलाएं.
  2. अपने बिल्ड को फिर से टेस्ट करने के लिए, Cuttlefish का इस्तेमाल करें.