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

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

AAOS SDV का सोर्स कोड पाना

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

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

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

source build/envsetup.sh

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

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

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

lunch sdv_core_cf-aosp_current-userdebug

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

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

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

AAOS SDV बिल्ड करना

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

m

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

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

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

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

    cvd create

    Cuttlefish, आपके बिल्ड किए गए टारगेट (sdv_core_cf-aosp_current-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 को डाउनलोड करने, बिल्ड करने या चलाने के दौरान होने वाली गड़बड़ियों को हल करने का तरीका बताया गया है.

RBE से जुड़ी गड़बड़ियां

अगर आपको Remote Build Execution (RBE) से जुड़ी कोई गड़बड़ी दिखती है, तो .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 not found

अगर आपको cvd not found गड़बड़ी दिखती है, तो:

  1. अपना बिल्ड फिर से सेट अप करें.
  2. कोई टारगेट चुनना के साथ जारी रखें.

Cuttlefish के क्रैश लूप

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

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