इस पेज पर, 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 का इस्तेमाल करके अपने बिल्ड की जांच करें.
अपने बिल्ड के साथ Cuttlefish शुरू करने के लिए:
cvd createCuttlefish, आपके बिल्ड किए गए टारगेट (
sdv_core_cf-aosp_current-userdebug) का इस्तेमाल करके चलता है. Cuttlefish के बूट होने के बाद, यह मैसेज दिखता है:VIRTUAL_DEVICE_BOOT_COMPLETED Virtual device booted successfullyCuttlefish से कनेक्ट करने के लिए,
adbचलाएं.यह पुष्टि करने के लिए कि आपका बिल्ड चल रहा है,
adb devicesचलाएं. ऐसा नतीजा दिखता है:List of devices attached 0.0.0.0:6520 deviceडिवाइस को शट डाउन करने के लिए,
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-commoncvd not found
अगर आपको cvd not found गड़बड़ी दिखती है, तो:
- अपना बिल्ड फिर से सेट अप करें.
- कोई टारगेट चुनना के साथ जारी रखें.
Cuttlefish के क्रैश लूप
अगर Cuttlefish क्रैश लूप में चला जाता है, तो:
- Cuttlefish के सभी इंस्टेंस बंद करने के लिए,
cvd stopचलाएं. - अपने बिल्ड की फिर से जांच करने के लिए, Cuttlefish का इस्तेमाल करें.