Android प्लैटफ़ॉर्म डेवलप करने के लिए, Android Studio for Platform (ASfP) का इस्तेमाल करने का सुझाव दिया जाता है. यह एक इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) है. इसमें Android Automotive Operating System (AAOS) और सॉफ़्टवेयर से कंट्रोल होने वाले वाहन (एसडीवी) के प्रोजेक्ट शामिल हैं. ASfP, कोड में बदलाव करने, उसे बनाने, डीबग करने, और उसकी जांच करने के लिए कई टूल उपलब्ध कराता है. इनमें ये टूल शामिल हैं:
- एआई की मदद से काम करने वाली सुविधाएं (Gemini)
- Rust, C या C++, Java लैंग्वेज के साथ काम करता है
- AAOS SDV डेवलपमेंट के लिए काम के इंटिग्रेशन (उदाहरण के लिए, Cuttlefish इमुलेटर के साथ काम करने की सुविधा और VSIDL भाषा के साथ काम करने की सुविधा)
Platform के लिए Android Studio इंस्टॉल करना
ASfP इंस्टॉल करने के लिए:
Android Studio for Platform डाउनलोड करें.
अपनी ज़रूरतों के हिसाब से सबसे सही वर्शन चुनें:
- स्टेबल: यह प्रोडक्शन रिलीज़ का नया वर्शन है. इसका सुझाव ज़्यादातर उपयोगकर्ताओं को दिया जाता है
- कैनरी: इसमें नई सुविधाओं के साथ, रिलीज़ होने से पहले इस्तेमाल करने के लिए उपलब्ध वर्शन मिलते हैं. हालांकि, यह कम स्टेबल हो सकता है
डाउनलोड पेज पर दिए गए इंस्टॉलेशन के निर्देशों का पालन करें.
AAOS SDV प्रोजेक्ट सेट अप करना
AAOS SDV प्रोजेक्ट सेट अप करने के लिए:
पुष्टि करें कि आपके पास AAOS SDV के सोर्स कोड रिपॉज़िटरी का ऐक्सेस हो. साथ ही, आपने लोकल चेकआउट को शुरू और सिंक किया हो. सोर्स को ऐक्सेस करने और रिपॉज़िटरी को शुरू करने के बारे में जानकारी के लिए, डाउनलोड करना, बनाना, और चलाना लेख पढ़ें.
Platform के लिए Android Studio लॉन्च करें.
अगर आपने पहले कभी यह सुविधा इस्तेमाल नहीं की है, तो सेटअप विज़र्ड का इस्तेमाल करके डेवलपमेंट एनवायरमेंट को अपनी पसंद के मुताबिक बनाएं.
नया प्रोजेक्ट बनाएं:
- अगर आपके पास कोई प्रोजेक्ट खुला हुआ नहीं है, तो वेलकम स्क्रीन पर नया पर क्लिक करें.
- अगर आपके पास पहले से कोई प्रोजेक्ट खुला हुआ है, तो खोलें पर क्लिक करें या मेन्यू से ASfP > प्रोजेक्ट > ASfP प्रोजेक्ट इंपोर्ट करें चुनें.
विज़र्ड में प्रोजेक्ट कॉन्फ़िगरेशन की जानकारी भरें:
Repo checkout: अपने लोकल AAOS SDV के सोर्स कोड के रूट का पूरा पाथ डालें. उदाहरण के लिए,
/path/to/sdv_source.लंच टारगेट: Cuttlefish पर AAOS SDV डेवलपमेंट के लिए, सही लंच टारगेट डालें. उदाहरण के लिए,
sdv_core_cf-trunk_staging-userdebug. उपलब्ध अन्य टारगेट के बारे में जानने के लिए, टारगेट चुनें पर जाएं.प्रोजेक्ट के सोर्स: उन शुरुआती डायरेक्ट्री या मॉड्यूल की सूची बनाएं जिन्हें आपको अपने प्रोजेक्ट में शामिल करना है. इसके अलावा, डायरेक्ट्री चुनने के लिए फ़ोल्डर आइकॉन पर क्लिक करके, फ़ाइल सिस्टम ब्राउज़र खोलें. बहुत ज़्यादा डायरेक्ट्री या मॉड्यूल चुनने से, IDE की इंडेक्सिंग और खोज की परफ़ॉर्मेंस पर असर पड़ता है. इसलिए, सिर्फ़ काम की डायरेक्ट्री या मॉड्यूल शामिल करें.
भाषा के लिए सहायता: Rust और C++ को सहायता वाली भाषाओं के तौर पर चुनें.
प्रोजेक्ट का नाम: अपने प्रोजेक्ट को कोई ऐसा नाम दें जिससे उसके बारे में ज़्यादा जानकारी मिले.
सेटअप पूरा करें: हो गया पर क्लिक करें. ASfP, प्रोजेक्ट स्ट्रक्चर और
.asfp-projectकॉन्फ़िगरेशन फ़ाइल बनाता है.
ASfP, शुरुआती सिंक की प्रोसेस अपने-आप शुरू कर देता है. ASfP, आपके सोर्स कोड का विश्लेषण करता है. साथ ही, Soong बिल्ड सिस्टम का इस्तेमाल करके डिपेंडेंसी को हल करता है. इसके बाद, कोड इंटेलिजेंस की सुविधाओं के लिए ज़रूरी जानकारी तैयार करता है. इसमें काफ़ी समय लग सकता है. खास तौर पर, पहली बार सिंक करने में.
प्रोजेक्ट को पसंद के मुताबिक बनाना
आपके प्रोजेक्ट रूट में मौजूद .asfp-project फ़ाइल की मदद से, इसे अपनी पसंद के मुताबिक बनाया जा सकता है.
इस फ़ाइल में ये बदलाव किए जा सकते हैं:
- डायरेक्ट्री और मॉड्यूल जोड़ें या हटाएं.
- C++ या Rust जैसी अन्य भाषाओं के लिए सहायता चालू करें (Java और Kotlin डिफ़ॉल्ट रूप से चालू होती हैं).
- बिल्ड फ़्लैग कॉन्फ़िगर करें.
कॉन्फ़िगरेशन फ़ाइल में बदलाव करने के लिए, ASfP > प्रोजेक्ट > कॉन्फ़िगरेशन खोलें को चुनें. कॉन्फ़िगरेशन के उपलब्ध विकल्पों के बारे में जानने के लिए, प्रोजेक्ट की खास जानकारी देखें.
डीबग और टेस्ट करना
ASfP में कोड को डीबग करने और उसकी जांच करने के लिए, प्लेटफ़ॉर्म कोड डीबग करना और atest की मदद से प्लैटफ़ॉर्म कोड की जांच करना लेख पढ़ें.
उपलब्ध इंटिग्रेशन
ASfP में, AAOS SDV डेवलपमेंट के लिए कुछ काम के इंटिग्रेशन शामिल हैं. इनमें ये शामिल हैं: VSIDL में Cuttlefish और Language Server Protocol (LSP) के लिए सहायता.
Cuttlefish प्लगिन
Cuttlefish प्लगिन की मदद से, उपयोगकर्ता सीधे तौर पर ASfP से लोकल Cuttlefish डिवाइस बना सकते हैं और उन्हें चला सकते हैं.
प्लगिन इंस्टॉल करना
Cuttlefish प्लगिन, ASfP के साथ पहले से इंस्टॉल होता है. इसे सेट अप करने की ज़रूरत नहीं होती. इस प्लगिन के लिए, डिवाइस पर Cuttlefish टूल इंस्टॉल होने चाहिए. अगर ज़रूरी हो, तो Cuttlefish टूल इंस्टॉल करने के लिए, निर्देशों का पालन करें.
Cuttlefish डिवाइस बनाना
नया डिवाइस बनाने के लिए:
टूल > डिवाइस मैनेजर को चुनकर, डिवाइस मैनेजर टूल विंडो खोलें. इसके अलावा, अगर डिवाइस मैनेजर पहले से ही दाईं ओर मौजूद पैनल में पिन किया गया है, तो चल रहे डिवाइस आइकॉन पर क्लिक करके भी इसे खोला जा सकता है.
+ आइकॉन पर क्लिक करें और Cuttlefish डिवाइस बनाएं चुनें.
नए Cuttlefish डिवाइस को कॉन्फ़िगर करें. Cuttlefish डिवाइस दो तरीकों से बनाए जा सकते हैं:
स्थानीय Android सोर्स ट्री चेकआउट से:
- लॉन्च कॉन्फ़िगरेशन से मेल खाने वाले बिल्ट टारगेट का पाथ चुनें. ज़्यादा जानकारी के लिए, टारगेट चुनना लेख पढ़ें.
- होस्ट पाथ चुनें.
- इसके अलावा, उपलब्ध डिवाइस कॉन्फ़िगरेशन चुनें या डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए कोई नहीं चुनें.
कैननिकल कॉन्फ़िगरेशन से (एक कॉन्फ़िगरेशन से कई डिवाइस बनाने के लिए, इस विकल्प का इस्तेमाल करें):
- डिवाइस कॉन्फ़िगरेशन का पाथ चुनें.
- अगर चाहें, तो कॉन्फ़िगरेशन के विकल्पों को बदलने के लिए, कोई भी ओवरराइड फ़्लैग दें.
Cuttlefish डिवाइस बनने और डिवाइस मैनेजर में चल रहे डिवाइसों की सूची में जुड़ने तक इंतज़ार करें.
Running Devices मेन्यू से, Cuttlefish डिवाइस चुनें.
डिवाइस मैनेजर में, डिवाइस के बगल में मौजूद 'बंद करें' या 'चालू करें' आइकॉन पर क्लिक करके, अलग-अलग Cuttlefish डिवाइसों को चालू या बंद किया जा सकता है.
Cuttlefish डिवाइस पेज को ऐक्सेस करना
Cuttlefish प्लगिन में एक टूल विंडो होती है. इसमें Cuttlefish डिवाइस पेज दिखता है. इस पेज पर, स्क्रीन मिरर करने की सुविधाओं को ऐक्सेस किया जा सकता है.
Cuttlefish टूल विंडो खोलने के लिए, बाईं ओर मौजूद पैनल में ... आइकॉन पर क्लिक करें. इसके बाद, Cuttlefish चुनें. इसके अलावा, सहायता > कार्रवाई ढूंढें मेन्यू आइटम में जाकर, Cuttlefish को खोजा जा सकता है.
VSIDL में Language Server Protocol
VSIDL में, LSP, IDE की कई सुविधाएँ उपलब्ध कराता है. इनसे ASfP में VSIDL फ़ाइलों (.vsidl एक्सटेंशन वाली) के साथ काम करते समय, डेवलपमेंट के आपके वर्कफ़्लो को बेहतर बनाने में मदद मिलती है.
सिमेंटिक सिंटैक्स हाइलाइटिंग
एलएसपी सर्वर, VSIDL फ़ाइलों के लिए सिंटैक्स हाइलाइटिंग की सुविधा देता है.
यह क्या करता है: यह कीवर्ड (
service_bundle,publisher), फ़ील्ड (package:,message:), और लिटरल को हाइलाइट करता है.इसे आज़माने का तरीका: कोई भी VSIDL फ़ाइल खोलें. फ़ाइल में रंग कोड का इस्तेमाल किया गया है, ताकि स्ट्रक्चरल कीवर्ड को उपयोगकर्ता के तय किए गए आइडेंटिफ़ायर से अलग किया जा सके.
लाइव डाइग्नोस्टिक्स (गड़बड़ियां और चेतावनियां)
एलएसपी सर्वर, फ़ाइलों की लगातार पुष्टि करता है और समस्याओं की रिपोर्ट रीयल टाइम में देता है.
यह क्या करता है: यह पूरे कैटलॉग और उसकी डिपेंडेंसी में सिंटैक्स से जुड़ी गड़बड़ियों, अमान्य टाइप रेफ़रंस, और अन्य गड़बड़ियों का पता लगाता है.
इसे आज़माने का तरीका: मैसेज के नाम में टाइपिंग की कोई गड़बड़ी करें. उदाहरण के लिए,
TiiirePressure. गलत स्पेलिंग के नीचे लाल रंग की टेढ़ी-मेढ़ी लाइन दिखेगी. गड़बड़ी का मैसेज देखने के लिए, शब्द पर कर्सर घुमाएं. इसके अलावा, IDE में सबसे नीचे मौजूद समस्याएं टूल विंडो में जाकर, पूरी सूची देखें.
नेविगेशन और इंटेलिजेंस
नेविगेशन और इंटेलिजेंस सुविधाओं का इस्तेमाल करके, अपने VSIDL कैटलॉग के अलग-अलग हिस्सों के बीच के संबंध एक्सप्लोर किए जा सकते हैं.
अपने-आप पूरा होने की सुविधा: कीवर्ड, प्रोटोबफ़ मैसेज, आरपीसी सेवाओं, विषयों, और चैनलों के सुझाव देखने के लिए, Control+Space दबाएं. कीवर्ड के सुझावों में, उनके मकसद के बारे में कम शब्दों में काम की जानकारी शामिल होती है. यह जानकारी, सीधे तौर पर सुझाव वाले मेन्यू में दिखती है. एलएसपी,
publisherयाserverजैसे ब्लॉक के लिए स्मार्ट स्निपेट भी उपलब्ध कराता है, ताकि आप तेज़ी से काम कर सकें.किसी परिभाषा पर जाएं: किसी मैसेज, सेवा, विषय या चैनल के रेफ़रंस पर सीधे जाने के लिए, Control को दबाकर रखें और क्लिक करें (या Control+B दबाएं). भले ही, यह रेफ़रंस किसी दूसरे VSIDL या protobuf फ़ाइल में हो.
रेफ़रंस ढूंढना: अपने कर्सर को
publisher,subscriber,serverयाclientकीवर्ड पर रखें. इसके बाद, Alt+Shift+F7 दबाकर, सभी उदाहरण ढूंढें.कर्सर घुमाने पर दिखने वाली जानकारी: अपने कर्सर को किसी टाइप या प्रॉपर्टी पर ले जाएं या Control+Q दबाएं. एक टूलटिप दिखेगी, जिसमें दस्तावेज़ से जुड़ी टिप्पणियां दिखेंगी (अगर कोई टिप्पणी मौजूद है).
स्ट्रक्चरल फ़ीचर
एलएसपी सर्वर, बड़ी VSIDL फ़ाइलों के स्ट्रक्चर को मैनेज करने और उनमें नेविगेट करने में आपकी मदद करता है:
दस्तावेज़ के सिंबल (आउटलाइन): तुरंत नेविगेट करने के लिए, Control+F12 दबाएं. इसके अलावा, फ़ाइल में मौजूद सभी बंडल और यूनिट का ट्री व्यू देखने के लिए, स्ट्रक्चर टूल विंडो (Control+Alt+7) खोलें.
फ़ोल्ड की जा सकने वाली रेंज: बड़े लॉजिकल ब्लॉक, जैसे कि
service_bundleया मैपिंग की परिभाषाओं को छोटा या बड़ा करने के लिए, गटर (लाइन नंबर के बगल में) में मौजूद > या V आइकॉन पर क्लिक करें.दस्तावेज़ फ़ॉर्मैट करना: फ़ाइल को अपने-आप फिर से फ़ॉर्मैट करने के लिए, Control+Alt+L दबाएं. इससे इंडेंटेशन और स्पेसिंग एक जैसी हो जाती है.