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

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

هنگامی که یک پروژه جدید را شروع می کنید، ASfP ساختار لازم را برای همه فایل های شما ایجاد می کند و آنها را در پنجره Project قابل مشاهده می کند. برای باز کردن پنجره، 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