یک پروژه در 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