راه‌اندازی یک IDE برای توسعه SDV

اندروید استودیو برای پلتفرم (ASfP) محیط توسعه یکپارچه (IDE) پیشنهادی برای توسعه پلتفرم اندروید، از جمله پروژه‌های سیستم عامل اندروید خودرو (AAOS) و خودروهای نرم‌افزاری تعریف‌شده (SDV) است. ASfP مجموعه‌ای غنی از ابزارها را برای ویرایش کد، ساخت، اشکال‌زدایی و آزمایش ارائه می‌دهد، از جمله:

  • دستیار مبتنی بر هوش مصنوعی (Gemini)
  • پشتیبانی از زبان‌های Rust، C یا C++، جاوا
  • یکپارچه‌سازی‌های مفید برای توسعه AAOS SDV (برای مثال، پشتیبانی از شبیه‌ساز Cuttlefish و پشتیبانی از زبان VSIDL)

نصب اندروید استودیو برای پلتفرم

برای نصب ASfP:

  1. دانلود اندروید استودیو برای پلتفرم .

  2. نسخه‌ای را انتخاب کنید که به بهترین وجه با نیازهای شما مطابقت داشته باشد:

    • پایدار: آخرین نسخه تولیدی، برای اکثر کاربران توصیه می‌شود
    • قناری: نسخه‌های دسترسی زودهنگام با جدیدترین ویژگی‌ها ساخته می‌شوند، اما احتمالاً پایداری کمتری دارند
  3. دستورالعمل‌های نصب ارائه شده در صفحه دانلود را دنبال کنید.

یک پروژه AAOS SDV راه‌اندازی کنید

برای راه اندازی یک پروژه AAOS SDV:

  1. تأیید کنید که به مخزن کد منبع AAOS SDV دسترسی دارید و پرداخت محلی خود را راه‌اندازی و همگام‌سازی کرده‌اید. برای جزئیات بیشتر در مورد دسترسی به منبع و راه‌اندازی مخزن، به «دانلود، ساخت و اجرا» مراجعه کنید.

  2. اندروید استودیو را برای پلتفرم اجرا کنید.

  3. اگر برای اولین بار است که از این نرم‌افزار استفاده می‌کنید، برای سفارشی‌سازی محیط توسعه، از راهنمای نصب (Setup Wizard) پیروی کنید.

  4. ایجاد یک پروژه جدید:

    • اگر پروژه‌ای باز ندارید، در صفحه خوشامدگویی روی «جدید» کلیک کنید.
    • اگر از قبل پروژه‌ای باز دارید، روی «باز کردن» کلیک کنید یا از منو، ASfP > Project > Import ASfP Project را انتخاب کنید.
  5. جزئیات پیکربندی پروژه را در ویزارد وارد کنید:

    • پرداخت مخزن: مسیر مطلق به ریشه پرداخت کد منبع AAOS SDV محلی خود را مشخص کنید (برای مثال، /path/to/sdv_source ).

    • هدف ناهار: هدف ناهار مناسب برای توسعه AAOS SDV روی Cuttlefish را وارد کنید، برای مثال، sdv_core_cf-trunk_staging-userdebug . برای اهداف موجود بیشتر ، به انتخاب هدف مراجعه کنید.

    • منابع پروژه: فهرست دایرکتوری‌ها یا ماژول‌های اولیه‌ای را که می‌خواهید در پروژه خود بگنجانید، فهرست کنید یا روی نماد پوشه کلیک کنید تا مرورگر سیستم فایل باز شود و دایرکتوری‌ها را انتخاب کنید. انتخاب دایرکتوری‌ها یا ماژول‌های زیاد، بر شاخص‌گذاری و عملکرد جستجوی IDE تأثیر می‌گذارد، بنابراین فقط دایرکتوری‌ها یا ماژول‌های مرتبط را وارد کنید.

    • پشتیبانی زبان: Rust و C++ را به عنوان زبان‌های پشتیبانی‌شده انتخاب کنید.

    • نام پروژه: برای پروژه خود یک نام توصیفی انتخاب کنید.

    • پایان راه‌اندازی: روی پایان کلیک کنید. ASfP ساختار پروژه و فایل پیکربندی .asfp-project را ایجاد می‌کند.

ASfP به طور خودکار یک فرآیند همگام‌سازی اولیه را آغاز می‌کند. ASfP کد منبع شما را تجزیه و تحلیل می‌کند، وابستگی‌ها را با استفاده از سیستم ساخت Soong حل می‌کند و اطلاعات مورد نیاز برای ویژگی‌های هوشمندی کد را ایجاد می‌کند. این کار می‌تواند زمان قابل توجهی طول بکشد، به خصوص برای اولین همگام‌سازی.

سفارشی‌سازی پروژه

فایل .asfp-project در ریشه پروژه شما امکان سفارشی‌سازی بیشتر را فراهم می‌کند. می‌توانید این فایل را به صورت زیر ویرایش کنید:

  • اضافه کردن یا حذف کردن دایرکتوری‌ها و ماژول‌ها
  • پشتیبانی از زبان‌های دیگر مانند C++ یا Rust را فعال کنید (جاوا و کاتلین پیش‌فرض هستند).
  • پیکربندی پرچم‌های ساخت.

برای ایجاد تغییرات در فایل پیکربندی، ASfP > Project > Open Config را انتخاب کنید. برای گزینه‌های پیکربندی موجود، به نمای کلی پروژه‌ها مراجعه کنید.

اشکال‌زدایی و آزمایش

برای اشکال‌زدایی و آزمایش کد در ASfP، به بخش اشکال‌زدایی کد پلتفرم و آزمایش کد پلتفرم با atest مراجعه کنید.

ادغام‌های موجود

ASfP با برخی یکپارچه‌سازی‌های مفید برای توسعه AAOS SDV ارائه می‌شود، از جمله پشتیبانی از Cuttlefish و پروتکل سرور زبان (LSP) در VSIDL.

افزونه‌ی ده پا

افزونه‌ی Cuttlefish به کاربران اجازه می‌دهد دستگاه‌های Cuttlefish محلی را مستقیماً از ASfP ایجاد و اجرا کنند.

نصب افزونه

افزونه‌ی Cuttlefish به صورت پیش‌فرض با ASfP نصب شده است و نیازی به راه‌اندازی ندارد. این افزونه نیاز به نصب ابزارهای Cuttlefish روی دستگاه دارد. در صورت نیاز، دستورالعمل‌ها را برای نصب ابزارهای Cuttlefish دنبال کنید.

دستگاه Cuttlefish ایجاد کنید

برای ایجاد یک دستگاه جدید:

  1. با انتخاب Tools > Device Manager یا با کلیک روی آیکون Running Devices در پنل سمت راست (اگر Device Manager از قبل در آنجا پین شده است)، پنجره ابزار Device Manager را باز کنید.

  2. روی آیکون + کلیک کنید و گزینه‌ی «ایجاد دستگاه ماهی مرکب» (Create Cuttlefish Device) را انتخاب کنید.

  3. دستگاه جدید Cuttlefish را پیکربندی کنید. می‌توانید دستگاه‌های Cuttlefish را به دو روش ایجاد کنید:

    • از درخت پرداخت سورس اندروید محلی:

      • مسیر رسیدن به هدف ساخته شده را که با پیکربندی راه‌اندازی شما مطابقت دارد، انتخاب کنید (برای جزئیات بیشتر به «انتخاب هدف » مراجعه کنید).
      • مسیر میزبان را انتخاب کنید.
      • به صورت اختیاری، پیکربندی‌های موجود دستگاه یا None را برای پیکربندی پیش‌فرض انتخاب کنید.
    • از پیکربندی متعارف (از این گزینه برای ایجاد چندین دستگاه از یک پیکربندی واحد استفاده کنید):

      • مسیر پیکربندی دستگاه را انتخاب کنید.
      • به صورت اختیاری، می‌توانید هر پرچم لغوی را برای لغو گزینه‌های پیکربندی ارائه دهید.
  4. صبر کنید تا دستگاه Cuttlefish ایجاد شود و به لیست دستگاه‌های در حال اجرا در Device Manager اضافه شود.

  5. دستگاه Cuttlefish را از منوی Running Devices انتخاب کنید.

شما می‌توانید با کلیک روی آیکون توقف یا شروع در کنار دستگاه در مدیریت دستگاه، دستگاه‌های Cuttlefish را به صورت جداگانه شروع یا متوقف کنید.

دسترسی به صفحه دستگاه Cuttlefish

افزونه‌ی Cuttlefish یک پنجره‌ی ابزار دارد که صفحه‌ی دستگاه Cuttlefish را نمایش می‌دهد، جایی که می‌توانید به ویژگی‌های انعکاس صفحه نمایش دسترسی داشته باشید.

برای باز کردن پنجره ابزار Cuttlefish، روی آیکون ... در پنل سمت چپ کلیک کنید و Cuttlefish را انتخاب کنید. همچنین می‌توانید Cuttlefish را در منوی Help > Find Action جستجو کنید.

پروتکل سرور زبان در VSIDL

در VSIDL، LSP مجموعه‌ای غنی از ویژگی‌های IDE را برای بهبود گردش کار توسعه شما هنگام کار با فایل‌های VSIDL (با پسوند .vsidl ) در ASfP ارائه می‌دهد.

برجسته‌سازی نحو معنایی

سرور LSP هایلایت کردن سینتکس را بر اساس فایل‌های VSIDL ارائه می‌دهد.

  • چه کاری انجام می‌دهد: کلمات کلیدی ( service_bundle ، publisher )، فیلدها ( package: message: :) و حروف تعریف را هایلایت می‌کند.

  • نحوه‌ی امتحان: هر فایل VSIDL را باز کنید. این فایل با رنگ کدگذاری شده است تا کلمات کلیدی ساختاری را از شناسه‌های تعریف‌شده توسط کاربر متمایز کند.

تشخیص زنده (خطاها و هشدارها)

سرور LSP به طور مداوم فایل‌ها را اعتبارسنجی می‌کند و مشکلات را به صورت بلادرنگ گزارش می‌دهد.

  • چه کاری انجام می‌دهد: خطاهای نحوی، ارجاعات نوع نامعتبر و سایر خطاها را در کل کاتالوگ و وابستگی‌های آن تشخیص می‌دهد.

  • نحوه‌ی امتحان: در نام یک پیام، یک غلط املایی وجود دارد (مثلاً TiiirePressure ). یک خط قرمز موج‌دار زیر غلط املایی ظاهر می‌شود. برای دیدن پیام خطا، ماوس را روی کلمه نگه دارید یا لیست کامل را در پنجره‌ی ابزار Problems در پایین IDE مشاهده کنید.

شما می‌توانید از ویژگی‌های ناوبری و هوشمندی برای بررسی روابط بین بخش‌های مختلف کاتالوگ VSIDL خود استفاده کنید.

  • تکمیل خودکار: برای مشاهده پیشنهادات مربوط به کلمات کلیدی، پیام‌های protobuf، سرویس‌های RPC، موضوعات و کانال‌ها، کلیدهای Control + Space را فشار دهید. پیشنهادات کلمات کلیدی شامل توضیحات کوتاه و مفیدی در مورد هدف آنها به طور مستقیم در منوی تکمیل هستند. LSP همچنین قطعه کدهای هوشمندی را برای بلوک‌هایی مانند publisher یا server ارائه می‌دهد تا گردش کار شما را سرعت بخشد.

  • رفتن به یک تعریف: کلید Control را نگه دارید و روی یک پیام، سرویس، موضوع یا مرجع کانال کلیک کنید (یا Control+B را فشار دهید) تا مستقیماً به تعریف منبع آن بروید، حتی اگر در یک فایل VSIDL یا protobuf متفاوت باشد.

  • یافتن منابع: مکان‌نمای خود را روی کلمه کلیدی publisher ، subscriber ، server یا client قرار دهید و Alt+Shift+F7 را فشار دهید تا همه موارد یافت شده را پیدا کنید.

  • اطلاعات ماوس: مکان‌نما را روی یک نوع یا ویژگی ببرید (یا Control+Q را فشار دهید). یک راهنمای ابزار ظاهر می‌شود که توضیحات مربوط به مستندات آن را (در صورت وجود) نشان می‌دهد.

ویژگی‌های ساختاری

سرور LSP به شما کمک می‌کند تا ساختار فایل‌های بزرگ VSIDL را مدیریت و پیمایش کنید:

  • نمادهای سند (طرح کلی): برای مشاهده‌ی یک راهنمای ابزار ناوبری سریع، کلیدهای Ctrl+F12 را فشار دهید، یا پنجره‌ی ابزار Structure ( Control+Alt+7 ) را باز کنید تا نمای درختی از تمام بسته‌ها و واحدهای موجود در فایل را مشاهده کنید.

  • باز کردن محدوده‌ها: برای باز کردن یا باز کردن بلوک‌های منطقی بزرگ مانند service_bundle یا تعاریف نگاشت، روی آیکون‌های > یا V در حاشیه (کنار شماره خطوط) کلیک کنید.

  • قالب‌بندی سند: برای قالب‌بندی مجدد خودکار فایل و ایجاد تورفتگی و فاصله‌گذاری منظم، کلیدهای Control+Alt+L را فشار دهید.