تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
نظرة عامة
Rust هي لغة برمجة حديثة للأنظمة تركّز على الأداء والأمان، وخاصةً أمان الذاكرة. تزداد أهمية لغة Rust في منظومة Android المتكاملة كبديل أكثر أمانًا للغة C/C++ في تطوير مكوّنات النظام المهمة، ما يوفّر مستوى أمان وثباتًا أفضل.
ترشدك هذه الصفحة إلى كيفية إعداد "استوديو Android للمنصة" (ASfP) لتوفير إمكانية تطوير تطبيقات باستخدام لغة Rust ضمن مشاريع "مشروع Android المفتوح المصدر" (AOSP).
المتطلّبات الأساسية
تثبيت ASfP: تأكَّد من تثبيت ASfP وتشغيله.
إصدار منصة AOSP: يجب أن يتوفّر لديك إصدار منصة AOSP صالح على جهازك.
تفعيل دعم Rust
في ما يلي الخطوات التفصيلية لتفعيل دعم Rust في مشروع ASfP:
تفعيل Rust
عند إنشاء مشروع جديد في معالج الإعداد، ما عليك سوى وضع علامة في المربع الخاص بلغة Rust:
مربّع اختيار Rust في معالج إعداد مشروع جديد
بالنسبة إلى المشاريع الحالية، انتقِل إلى إعدادات .asfp-project وأضِف rust إلى other_languages:
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) بمشروع Rust، وذلك من خلال الانتقال إلى ملف > مزامنة المشروع.
التحقّق من النجاح
بعد إكمال هذه الخطوات:
من المفترض أن يظهر الرمز rust-project.json في طريقة عرض مشروعك (ضمن ملف iml المصدر). يتم إنشاء هذا الملف بواسطة Soong أثناء التحليل ويتم ربطه بشكل رمزي بجذر المستودع، وهو أمر ضروري لكي يوفّر بروتوكول LSP خدمات اللغة. لا تعدّل هذا الملف مباشرةً، بل أعِد المزامنة ليتمكّن Soong من التعامل معه.
للتذكير، تحقَّق جيدًا من توفّر rust ضمن other_languages
في ملف إعداد .asfp-project.
تأكَّد من إنشاء rust-project.json.
من المفترض أن تظهر لك الميزات الخاصة بلغة Rust (الموضّحة أدناه) مفعّلة في بيئة التطوير المتكاملة.
الميزات الأساسية لبيئة تطوير Rust المتكاملة
إكمال الرمز: يمكنك الحصول على اقتراحات ذكية لرموز Rust، بما في ذلك العناصر من الوحدات الأخرى.
إكمال الرمز البرمجي يقترح عناصر من وحدة Rust مختلفة.
التنقّل: يمكنك الانتقال بسرعة إلى التعريفات والعثور على استخدامات رموز Rust في مشروعك.
الانتقال إلى تعريف رمز Rustالعثور على جميع استخدامات رمز Rust
تلميحات الأدوات: مرِّر مؤشر الماوس فوق الرموز للاطّلاع على معلومات النوع والمستندات.
تلميح أدوات يعرض معلومات النوع لرمز Rust من وحدة نمطية أخرى
التلميحات المضمّنة: يمكنك عرض معلومات النوع وتلميحات سياقية أخرى مباشرةً في المحرّر.
تلميحات مضمّنة تعرض معلومات النوع ضمن الرمز.
طريقة عرض البنية: يمكنك التنقّل في بنية ملفات Rust باستخدام نافذة الأداة البنية (عرض > نوافذ الأدوات > البنية).
نافذة أداة البنية التي تعرض المخطط التفصيلي لملف Rust
إعادة تصميم الرمز: يمكنك إعادة تسمية الرموز بأمان وتعديل جميع استخداماتها.
إعادة تسمية رمز Rust وتعديل جميع مراجع هذا الرمز
التحليل في الوقت الفعلي: احصل على ملاحظات فورية حول الأخطاء والتحذيرات في رمز Rust.
بيئة التطوير المتكاملة (IDE) التي تعرض الأخطاء والتحذيرات في الوقت الفعلي في رمز Rust البرمجي
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["Overview\n\nRust is a modern systems programming language focused on performance and safety,\nparticularly memory safety. Rust is increasingly important in the Android\necosystem as a safer alternative to C/C++ for developing critical system\ncomponents, offering improved security and stability.\n\nThis page guides you through setting up Android Studio for Platform (ASfP) to\nsupport Rust development within your Android Open Source Project (AOSP)\nprojects.\n\nPrerequisites\n\n- **ASfP Installed:** Verify you have ASfP installed and running.\n- **Platform checkout:** You need a working AOSP platform checkout on your machine.\n\nEnabling Rust support\n\nHere's the step-by-step process to get Rust support working in your ASfP\nproject:\n\n1. **Enable Rust**\n\n - When creating a **new project** in the setup wizard, simply check the box for Rust:\n\n Rust checkbox in new project setup wizard.\n - For existing projects, navigate to your `.asfp-project` config and add `rust` to `other_languages`:\n\n other_languages:\n - cpp\n - rust\n ```\n\n \u003cfigure\u003e\n \u003cimg src=\"/studio/platform/images/1-modify_asfp_project_languages.png\" alt=\"Modifying the .asfp-project file to add rust to other_languages\" class=\"screenshot\"\u003e\n \u003cfigcaption\u003eAdding Rust support in the \u003ccode\u003e.asfp-project\u003c/code\u003e file.\u003c/figcaption\u003e\n \u003c/figure\u003e\n\n\u003c!-- --\u003e\n\n1. **Sync your project:**\n\n - After performing the previous steps, you need to trigger a project sync to ensure that all changes are applied and the IDE recognizes the Rust project: Go to **File \\\u003e Sync Project**.\n\nVerifying success\n\nAfter completing these steps:\n\n- You should see `rust-project.json` in your project view (under the source\n iml). This file is generated by Soong during analysis and symlinked to the\n repo root, which is necessary for LSP to provide language services. **DO\n NOT** edit this file directly; instead, re-sync to let Soong handle it.\n\n As a reminder, double check that `rust` is present under `other_languages`\n in your `.asfp-project` config.\n Ensure that `rust-project.json` has been generated.\n- You should see Rust-specific features (described and shown below) enabled in\n your IDE.\n\nKey Rust IDE features\n\n- **Code completion:** Get intelligent suggestions for Rust code, including\n items from other modules.\n\n Code completion suggesting items from a different Rust module.\n\n \u003cbr /\u003e\n\n- **Navigation:** Quickly jump to definitions and find usages of Rust symbols\n across your project.\n\n Navigating to the definition of a Rust symbol. Finding all usages of a Rust symbol.\n\n \u003cbr /\u003e\n\n- **Tooltips:** Hover over symbols to see type information and documentation.\n\n Tooltip showing type information for a Rust symbol from another module.\n\n \u003cbr /\u003e\n\n- **Inlay hints:** View type information and other contextual hints directly\n in the editor.\n\n Inlay hints showing type information within the code.\n\n \u003cbr /\u003e\n\n- **Structure view:** Navigate the structure of your Rust files using the\n **Structure** tool window (View \\\u003e Tool Windows \\\u003e Structure).\n\n The structure tool window showing the outline of a Rust file.\n\n \u003cbr /\u003e\n\n- **Refactoring:** Safely rename symbols and have all usages updated.\n\n Renaming a Rust symbol and updating all its references.\n\n \u003cbr /\u003e\n\n- **Real-time analysis:** Get instant feedback on errors and warnings in your\n Rust code.\n\n IDE showing real-time errors and warnings in Rust code.\n\n \u003cbr /\u003e"]]