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

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

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

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

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

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

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

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

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

repo

مطلوبة

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

repo: /path/to/aosp

lunch

مطلوبة

هدف 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

اختيارية

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

other_languages:
  -   cpp
  -   rust

build_config

اختيارية

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

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