یک پروژه در اندروید استودیو برای پلتفرم (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