نظرة عامة على المشاريع

يحتوي مشروع في "استوديو Android للمنصة" (ASfP) على كل ما يحدّد مساحة العمل الخاصة بقاعدة رموز AOSP البرمجية، بدءًا من رمز المصدر والأصول إلى رمز الاختبار وإعدادات التصميم.

عند بدء مشروع جديد، تنشئ ASfP البنية اللازمة لجميع ملفاتك وتجعلها مرئية في نافذة المشروع. لفتح النافذة، انقر على عرض (View) > نوافذ الأدوات (Tool Windows) > المشروع (Project).

تقدّم هذه الصفحة نظرة عامة على المكوّنات الرئيسية داخل إعدادات مشروعك.

إعدادات المشروع (.asfp-project)

يتم التحكّم في إعدادات مشروع ASfP من خلال ملف .asfp-project، الموجود في جذر دليل مشروعك. ملف YAML هذا ضروري للتحكّم في محتوى مشروعك وكيفية عمل الميزات المهمة. يمكنك فتحها من خلال القائمة الرئيسية باستخدام ASfP > المشروع > فتح ملف الإعداد أو من خلال العثور عليها في عرض المشروع.

عند إنشاء مشروع، يتم إنشاء إعدادات استنادًا إلى المواصفات التي يقدّمها المستخدم. يمكن تعديل جميع المَعلمات في ملف الإعداد في أي وقت لتغيير مواصفات المشروع، مثل تعديل أدلة المشروع أو الوحدات، وبعد ذلك يجب إجراء عملية مزامنة لكي تظهر التغييرات.

مَعلمات الإعداد

في ما يلي المَعلمات الرئيسية التي يمكنك ضبطها في ملف .asfp-project:

repo

مطلوب

مسار مطلق إلى جذر مستودع نظام Android الأساسي.

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

اختيارية

تحاول ميزة "الاستهداف المشابه للجمهور" التمييز بين مصادر الإنتاج ومصادر الاختبار، ولكن في بعض الحالات، قد تحتاج إلى الإشارة بوضوح إلى مصادر الاختبار. يجب توفيرها كمسارات نسبية بالنسبة إلى جذر repo. سيتم وضع علامة "اختبار" على أي جذور للمصدر تكون عبارة عن دلائل فرعية للمسارات المحدّدة.

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

other_languages

اختيارية

يتم تضمين دعم Java تلقائيًا. يمكنك إضافة دعم للغات أخرى. تتوافق أداة ASfP أيضًا مع C/C++‎ (cpp) وRust (rust).

other_languages:
  -   cpp
  -   rust

build_config

اختيارية

تتيح لك هذه المَعلمة إضافة علامات مخصّصة أو متغيرات بيئة إلى أحداث Soong build. ينطبق هذا الإعداد على جميع الإجراءات في بيئة التطوير المتكاملة التي تؤدي إلى إنشاء Soong، بما في ذلك عمليات المزامنة وإعدادات التشغيل.

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