खास जानकारी
Rust, सिस्टम प्रोग्रामिंग की एक मॉडर्न प्रोग्रामिंग लैंग्वेज है. यह परफ़ॉर्मेंस और सुरक्षा पर फ़ोकस करती है. खास तौर पर, मेमोरी की सुरक्षा पर. Android के इकोसिस्टम में Rust का इस्तेमाल तेज़ी से बढ़ रहा है. ऐसा इसलिए, क्योंकि यह C या C++ के मुकाबले ज़्यादा सुरक्षित है. इसका इस्तेमाल, सिस्टम के अहम कॉम्पोनेंट डेवलप करने के लिए किया जाता है. इससे बेहतर सुरक्षा और स्थिरता मिलती है.
इस पेज पर, Android Studio for Platform (ASfP) को सेट अप करने के बारे में बताया गया है. इससे, Android ओपन सोर्स प्रोजेक्ट (AOSP) में Rust डेवलपमेंट को सपोर्ट किया जा सकता है.
ज़रूरी शर्तें
- ASfP इंस्टॉल किया गया हो: पुष्टि करें कि आपने ASfP इंस्टॉल किया हो और वह काम कर रहा हो.
- प्लैटफ़ॉर्म चेकआउट: आपके पास अपनी मशीन पर काम करने वाला AOSP प्लैटफ़ॉर्म चेकआउट होना चाहिए.
Rust के साथ काम करने की सुविधा चालू करें
यहां सिलसिलेवार तरीके से बताया गया है कि अपने ASfP प्रोजेक्ट में Rust के साथ काम करने की सुविधा कैसे चालू करें:
Rust को चालू करें
- सेटअप विज़र्ड में नया प्रोजेक्ट बनाते समय, Rust के लिए चेकबॉक्स चुनें:
नए प्रोजेक्ट के सेटअप विज़र्ड में Rust चेकबॉक्स. - मौजूदा प्रोजेक्ट के लिए, अपनी
.asfp-projectकॉन्फ़िगरेशन फ़ाइल खोलें औरother_languagesमेंrustजोड़ें:
other_languages: - cpp - rust ``` <figure> <img src="/studio/platform/images/1-modify_asfp_project_languages.png" alt="Modifying the .asfp-project file to add rust to other_languages" class="screenshot"> <figcaption>Adding Rust support in the <code>.asfp-project</code> file.</figcaption> </figure>
अपने प्रोजेक्ट को सिंक करना
प्रोजेक्ट सिंक करने की प्रोसेस शुरू करें, ताकि IDE आपके रस्ट क्रेट जनरेट और इंडेक्स कर सके: ASfP > सिंक करें > प्रोजेक्ट सिंक करें को चुनें.
अपने कॉन्फ़िगरेशन की पुष्टि करना
इन चरणों को पूरा करने के बाद, इन नतीजों की पुष्टि करें:
rust-project.json, सोर्स.imlफ़ाइल के नीचे, आपके प्रोजेक्ट व्यू में दिखता है. इस फ़ाइल को Soong, विश्लेषण के दौरान जनरेट करता है. साथ ही, इसे रिपॉज़िटरी रूट से सिंबल लिंक किया जाता है. भाषा से जुड़ी सेवाएं देने के लिए, Language Server Protocol (LSP) के लिए यह ज़रूरी है. इस फ़ाइल में सीधे तौर पर बदलाव न करें. इसके बजाय, Soong को इसे मैनेज करने के लिए, फिर से सिंक करें.पुष्टि करें कि
.asfp-projectकॉन्फ़िगरेशन में,other_languagesके नीचेrustमौजूद है.
पक्का करें कि rust-project.jsonजनरेट हो गया हो.आपका IDE, Rust के लिए खास तौर पर बनाई गई इन सुविधाओं को चालू करता है.
Rust IDE की मुख्य सुविधाएं
- एलएलडीबी डीबगिंग और वैरिएबल विज़ुअलाइज़र की सुविधा पहले से मौजूद है: चलाएं > Android प्रोसेस से अटैच करें से, चल रही Rust डिवाइस सेवाओं को डीबग करें. ASfP के बिल्ट-इन LLDB डिबगर (
lldb-dap) का इस्तेमाल करके,Android.bpगटर आइकॉन से सीधेrust_testयाrust_test_hostटारगेट लॉन्च किए जा सकते हैं. साथ ही,String,Vec,HashMap, औरOptionके लिए ऑटोमैटिक प्रीटी-प्रिंटर का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, Rust कोड को डीबग करना लेख पढ़ें. कोड पूरा करना: Rust कोड के लिए स्मार्ट सुझाव पाएं. इनमें अन्य मॉड्यूल के आइटम भी शामिल हैं.
Code completion suggesting items from a different Rust module. नेविगेशन: अपने प्रोजेक्ट में Rust के सिंबल की परिभाषाओं पर जाएं और उनके इस्तेमाल के बारे में जानें.
Rust सिंबल की परिभाषा पर जाना.
Rust सिंबल के सभी इस्तेमाल का पता लगाना. टूलटिप: टाइप की जानकारी और दस्तावेज़ देखने के लिए, पॉइंटर को सिंबल पर घुमाएं.
किसी दूसरे मॉड्यूल के Rust सिंबल के टाइप की जानकारी दिखाने वाली टूलटिप. इनले हिंट: टाइप की जानकारी और अन्य कॉन्टेक्स्ट के हिसाब से हिंट को सीधे तौर पर एडिटर में देखें.
कोड में टाइप की जानकारी दिखाने वाले इनले हिंट. स्ट्रक्चर व्यू: स्ट्रक्चर टूल विंडो (व्यू > टूल विंडो > स्ट्रक्चर) का इस्तेमाल करके, अपने Rust फ़ाइलों के स्ट्रक्चर पर जाएं.
स्ट्रक्चर टूल विंडो में, Rust फ़ाइल की आउटलाइन दिखाई गई है. रीफ़ैक्टरिंग: सिंबल का नाम सुरक्षित तरीके से बदलें और सभी इस्तेमाल को अपडेट करें.
Rust के किसी सिंबल का नाम बदलना और उसके सभी रेफ़रंस अपडेट करना. रीयल-टाइम में विश्लेषण: अपने Rust कोड में मौजूद गड़बड़ियों और चेतावनियों के बारे में तुरंत फ़ीडबैक पाएं.
Rust कोड में रीयल-टाइम में गड़बड़ियां और चेतावनियां दिखाने वाला IDE.