نمای کلی پروژه ها

یک پروژه در اندروید استودیو برای پلتفرم (ASfP) شامل هر چیزی است که فضای کاری شما را برای کدبیس AOSP شما تعریف می‌کند، از کد منبع و دارایی‌ها گرفته تا کد آزمایشی و پیکربندی‌های ساخت.

وقتی یک پروژه جدید را شروع می‌کنید، ASfP ساختار لازم را برای تمام فایل‌های شما ایجاد می‌کند و آنها را در پنجره پروژه قابل مشاهده می‌سازد. برای باز کردن پنجره، View > Tool Windows > Project را انتخاب کنید.

این صفحه مروری بر اجزای کلیدی درون پیکربندی پروژه شما ارائه می‌دهد.

پیکربندی پروژه ( .asfp-project )

پیکربندی پروژه ASfP توسط فایل .asfp-project که در ریشه دایرکتوری پروژه شما قرار دارد، کنترل می‌شود. این فایل YAML برای کنترل آنچه در پروژه شما قرار می‌گیرد و نحوه عملکرد ویژگی‌های حیاتی ضروری است. می‌توانید آن را از طریق منوی اصلی با استفاده از ASfP > Project > Open Config یا با یافتن آن در نمای پروژه باز کنید.

پس از ایجاد پروژه، یک پیکربندی بر اساس مشخصات ارائه شده توسط کاربر ساخته می‌شود. همه پارامترهای موجود در پیکربندی را می‌توان در هر زمانی ویرایش کرد تا مشخصات پروژه تغییر کند، به عنوان مثال برای به‌روزرسانی دایرکتوری‌ها یا ماژول‌های پروژه، که پس از آن برای اعمال تغییرات، همگام‌سازی لازم است.

پارامترهای پیکربندی

پارامترهای کلیدی که می‌توانید در فایل .asfp-project پیکربندی کنید، عبارتند از:

repo

مورد نیاز

یک مسیر قطعی به ریشه مخزن پلتفرم اندروید شما.

repo: /path/to/aosp

lunch

مورد نیاز

هدف ناهار که با پروژه شما همراه خواهد بود. این برای همه اقدامات ساخت Soong، از جمله همگام‌سازی و پیکربندی‌های مربوط به اجرا، استفاده می‌شود.

lunch: your-product-variant-userdebug

directories

اختیاری

دایرکتوری‌هایی که باید به پروژه شما اضافه یا از آن حذف شوند. این‌ها باید مسیرهای نسبی نسبت به ریشه repo باشند.

directories:
  include:
    -   frameworks/base
    -   packages/apps/Settings
  exclude:
    -   vendor
    -   out/soong

modules

اختیاری

ماژول‌هایی که می‌توانید به پروژه خود اضافه کنید یا از آن حذف کنید. این ماژول‌ها در ارتباط با directories مشخص شده قبلی کار می‌کنند. نام کامل و اختصاری هر دو پشتیبانی می‌شوند.

modules:
  include:
    -   SystemUIGoogle
    -   frameworks/base/services/core/java:services
  exclude:
    -   UnusedModule

test_sources

اختیاری

ASfP تلاش می‌کند بین منابع تولید و تست تمایز قائل شود، اما در برخی موارد، ممکن است لازم باشد منابع تست را به صراحت مشخص کنید. این موارد را به عنوان مسیرهای نسبی نسبت به ریشه repo ارائه دهید. هر ریشه منبعی که زیرشاخه‌های مسیر(های) مشخص شده باشد، به عنوان تست علامت‌گذاری خواهد شد.

test_sources:
  -   cts/tests/tests/example
  -   tests/mytests

other_languages

اختیاری

پشتیبانی جاوا به طور پیش‌فرض گنجانده شده است. می‌توانید پشتیبانی از زبان‌های دیگر را نیز اضافه کنید. ASfP همچنین از C/C++ ( cpp ) و Rust ( rust ) پشتیبانی می‌کند.

other_languages:
  -   cpp
  -   rust

build_config

اختیاری

این پارامتر به شما امکان می‌دهد پرچم‌های سفارشی یا متغیرهای محیطی را به رویدادهای ساخت Soong اضافه کنید. این پیکربندی برای همه اقدامات در IDE که منجر به ساخت Soong می‌شوند، از جمله پیکربندی‌های همگام‌سازی و اجرا، اعمال می‌شود.

build_config:
  flags:
    -   -j64
  env:
    SOONG_ALLOW_MISSING_DEPENDENCIES: true
    MY_CUSTOM_VAR: value