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

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

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

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

الوحدات

الوحدة هي مجموعة من ملفات المصدر وإعدادات الإصدار التي تتيح لك تقسيم مشروعك إلى وحدات منفصلة من الوظائف. يمكن أن يتضمّن مشروعك وحدة واحدة أو عدة وحدات، ويمكن أن تستخدم إحدى الوحدات وحدة أخرى كعنصر تابع. يمكنك إنشاء كل وحدة واختبارها وتصحيح أخطائها بشكل مستقل. يُرجى العِلم أنّه قد يُشار إلى الوحدات باسم "مشاريع" أو "مشاريع فرعية" في مستندات Gradle.

تكون الوحدات الإضافية مفيدة عند إنشاء مكتبات رموز برمجية ضمن مشروعك أو عندما تريد إنشاء مجموعات مختلفة من الرموز البرمجية والموارد لأنواع مختلفة من الأجهزة، مثل الهواتف والأجهزة القابلة للارتداء، ولكن مع إبقاء جميع الملفات ضمن نطاق المشروع نفسه ومشاركة بعض الرموز البرمجية.

لإضافة وحدة جديدة إلى مشروعك، انقر على ملف (File) > جديد (New) > وحدة جديدة (New Module).

يوفّر Android Studio بعض الأنواع المميّزة من الوحدات:

وحدة تطبيق Android

يوفر حاوية لرمز المصدر وملفات الموارد وإعدادات التطبيق، مثل ملف الإنشاء على مستوى الوحدة وملف بيان Android. عند إنشاء مشروع جديد، يتم تلقائيًا تسمية وحدة تطبيقك باسم "app".

يوفّر "استوديو Android" أنواعًا من وحدات التطبيق، وهي:

  • الهاتف والجهاز اللوحي
  • Automotive
  • Wear OS
  • التلفزيون

يوفّر كل وحدة ملفات أساسية وبعض نماذج الرموز البرمجية المناسبة لنوع التطبيق أو الجهاز المعنيّ.

لمزيد من المعلومات حول إضافة وحدة، يُرجى قراءة المقالة إضافة وحدة لجهاز جديد.

وحدة الميزات
تمثّل هذه السمة ميزة مقسَّمة إلى وحدات في تطبيقك يمكنها الاستفادة من عرض الميزات في Play. على سبيل المثال، باستخدام وحدات الميزات، يمكنك تزويد المستخدمين بميزات معيّنة من تطبيقك عند الطلب أو كتجارب فورية من خلال التطبيقات الفورية من Google Play.

يوفّر Android Studio الأنواع التالية من وحدات الميزات:

  • وحدة الميزات الديناميكية
  • وحدة مكتبة الميزات الديناميكية الفورية

لمزيد من المعلومات، يمكنك الاطّلاع على مقالة عرض الميزات في Play.

وحدة المكتبة

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

في نافذة إنشاء وحدة جديدة، يوفّر "استوديو Android" الأنواع التالية من وحدات المكتبة:

  • مكتبة Android: تحتوي على جميع أنواع الملفات المتوافقة في مشروع Android باستثناء الرموز البرمجية الأصلية بلغة C++، بما في ذلك رموز المصدر بلغتَي Java وKotlin والموارد وملفات البيان. نتيجة الإنشاء هي ملف Android Archive (AAR) يمكنك إضافته كعنصر تابع لوحدات تطبيق Android.
  • مكتبة Android المجمّعة من رموز برمجية أصلية: تحتوي على جميع أنواع الملفات المتوافقة في مشروع Android، وهي تشبه مكتبة Android. ومع ذلك، يمكن أن تحتوي مكتبات Android الأصلية أيضًا على رمز مصدر C++ أصلي. نتيجة الإنشاء هي ملف Android Archive (AAR) يمكنك إضافته كعنصر تابع لوحدات تطبيق Android.
  • مكتبة Java أو Kotlin: تحتوي على ملفات مصدر Kotlin أو Java فقط. نتيجة الإنشاء هي ملف Java Archive (JAR) يمكنك إضافته كعنصر تابع لوحدات تطبيق Android أو مشاريع Kotlin أو Java الأخرى.
  • المعيار > المعيار المصغّر: يحتوي على الملفات اللازمة لقياس أداء الرمز البرمجي بانتظام وعرض نتائج قياس الأداء. تكون وحدات قياس الأداء الدقيق مفيدة بشكل خاص لقياس أداء أجزاء أصغر من الرموز البرمجية التي يتم استخدامها بشكل متكرر. لمزيد من المعلومات، راجِع لمحة عن Microbenchmark.

عند إنشاء وحدة مكتبة وأردت إضافتها كعنصر تابع إلى وحدة تطبيق Android، عليك تعريفها على النحو التالي:

Groovy

    dependencies {
        implementation project(':my-library-module')
    }
    

Kotlin

    dependencies {
        implementation(project(":my-library-module"))
    }
    
وحدة الاختبار

يحتفظ باختباراتك بشكل منفصل عن بقية الرمز البرمجي. يمكنك ضبط وحدة الاختبار لاستهداف صيغ إنشاء محدّدة.

يوفّر "استوديو Android" الأنواع التالية من وحدات الاختبار:

  • أداة إنشاء ملفات Baseline Profile: تساهم ملفات Baseline Profile في تحسين سلاسة تفاعلات المستخدمين، مثل التنقّل والتمرير، عند تشغيل التطبيق للمرة الأولى. أنشئ ملفات تعريف أساسية لرحلات المستخدمين المهمة لتحسين أداء التطبيق وتجربة المستخدم.
  • Benchmark > Macrobenchmark: يحتوي على الملفات اللازمة لقياس أداء الرمز بانتظام وعرض نتائج قياس الأداء. تكون وحدات Macrobenchmark مفيدة بشكل خاص لقياس أداء حالات الاستخدام الأكبر لتطبيقك، مثل التنقّل في قائمة أو إجراءات أخرى على واجهة المستخدم. لمزيد من المعلومات، راجِع كتابة اختبار Macrobenchmark.

ملفات المشروع

يعرض "استوديو Android" ملفات مشروعك تلقائيًا في طريقة العرض Android. لا يعكس هذا العرض التسلسل الهرمي الفعلي للملفات على القرص. بدلاً من ذلك، يتم تنظيمها حسب الوحدات وأنواع الملفات لتسهيل التنقّل بين ملفات المصدر الرئيسية لمشروعك، مع إخفاء ملفات أو أدلة معيّنة لا يتم استخدامها بشكل شائع.

في ما يلي بعض الاختلافات البنيوية بين طريقة عرض Android والبنية على القرص:

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

ضمن كل وحدة من وحدات تطبيق Android، يتم عرض الملفات في المجموعات التالية:

ملفات البيان
يحتوي على الملف AndroidManifest.xml.
java
يحتوي
على ملفات رموز المصدر بلغتَي Kotlin وJava، مفصولة بأسماء الحِزم، بما في ذلك رمز اختبار JUnit.
res
يحتوي على جميع الموارد غير الرمزية، مثل سلاسل واجهة المستخدم وصور الخرائط النقطية، ويتم تقسيمها إلى أدلة فرعية ذات صلة. لمزيد من المعلومات حول أنواع الموارد المحتملة، راجِع نظرة عامة على موارد التطبيق.

طريقة عرض "المشروع"

للاطّلاع على بنية الملفات الفعلية للمشروع، بما في ذلك جميع الملفات المخفية من طريقة العرض Android، اختَر المشروع من القائمة في أعلى نافذة المشروع.

عند اختيار طريقة العرض المشروع، يمكنك الاطّلاع على المزيد من الملفات والأدلة، بما في ذلك ما يلي:

module-name/
build/
يحتوي على نواتج الإنشاء.
libs/
تحتوي على مكتبات خاصة.
src/
يحتوي على جميع ملفات الرموز والموارد الخاصة بالوحدة في الدلائل الفرعية التالية:
androidTest/
يحتوي على رمز لاختبارات الأدوات التي يتم تشغيلها على جهاز Android. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة الاختبار في "استوديو Android".
cpp/
يحتوي على رمز C أو C++‎ أصلي باستخدام واجهة Java الأصلية (JNI). لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Android NDK.
main/
يحتوي على ملفات مجموعة المصادر "الرئيسية": رمز Android والموارد المشتركة بين جميع صيغ الإنشاء (توجد ملفات صيغ الإنشاء الأخرى في أدلة فرعية، مثل src/debug/ لنوع الإنشاء التصحيحي):
AndroidManifest.xml
تصف طبيعة التطبيق وكل مكوّن من مكوّناته. لمزيد من المعلومات، يُرجى الاطّلاع على النظرة العامة حول بيان التطبيق.
java/
يحتوي على مصادر رموز Kotlin أو Java البرمجية، أو كليهما، إذا كان تطبيقك يتضمّن رموز Kotlin وJava البرمجية.
kotlin/
يحتوي على مصادر رموز Kotlin فقط.
res/
يحتوي على موارد التطبيق، مثل ملفات الرسومات وملفات سلاسل واجهة المستخدم. لمزيد من المعلومات، اطّلِع على النظرة العامة حول موارد التطبيق.
assets/
يحتوي على ملفات سيتم تجميعها في ملف APK كما هي. على سبيل المثال، هذا هو المكان المناسب لملفات الأنسجة وبيانات الألعاب. يمكنك التنقّل في هذا الدليل بالطريقة نفسها التي تتنقّل بها في نظام ملفات عادي، وذلك باستخدام معرّفات الموارد الموحّدة (URI) وقراءة الملفات كتدفق من وحدات البايت باستخدام AssetManager.
test/
يحتوي على رموز للاختبارات المحلية التي يتم تشغيلها على جهاز JVM المضيف.
build.gradle أو build.gradle.kts (وحدة)
يحدّد هذا الملف إعدادات الإصدار الخاصة بالوحدة. build.gradle هو اسم الملف الصحيح إذا كنت تستخدم Groovy كلغة لبرنامج الإنشاء، وbuild.gradle.kts هو اسم الملف الصحيح إذا كنت تستخدم برنامج Kotlin النصي.
build.gradle أو build.gradle.kts (مشروع)
يحدّد هذا الإعداد إعدادات الإصدار التي تنطبق على جميع الوحدات. build.gradle هو اسم الملف الصحيح إذا كنت تستخدم Groovy كلغة لبرنامج نص البناء، وbuild.gradle.kts هو اسم الملف الصحيح إذا كنت تستخدم برنامج نص Kotlin. هذا الملف جزء أساسي من المشروع، لذا يجب الحفاظ عليه في نظام التحكّم في المراجعات مع كل رموز المصدر الأخرى.

للحصول على معلومات حول ملفات الإنشاء الأخرى، راجِع مقالة إعداد عملية الإنشاء.

إعدادات بنية المشروع

لتغيير إعدادات مختلفة لمشروعك في "استوديو Android"، افتح مربّع الحوار بنية المشروع بالنقر على ملف > بنية المشروع. ويحتوي على الأقسام التالية:

  • المشروع: يضبط هذا القسم إصدار Gradle والمكوّن الإضافي لنظام Gradle المتوافق مع Android واسم موقع المستودع.
  • موقع حزمة SDK: يضبط موقع JDK وحزمة SDK لنظام التشغيل Android وAndroid NDK التي يستخدمها مشروعك.
  • المتغيرات: تتيح لك تعديل المتغيرات المستخدَمة في نصوص البرامج الإنشائية.
  • الوحدات: تتيح لك تعديل إعدادات الإصدار الخاصة بالوحدة، بما في ذلك الحد الأدنى من حزمة تطوير البرامج (SDK) والإصدار المستهدف، وتوقيع التطبيق، واعتمادات المكتبة. تنقسم صفحة إعدادات كل وحدة إلى علامات التبويب التالية:
    • السمات: تحدّد هذه السمة إصدارات حزمة SDK وأدوات الإنشاء التي سيتم استخدامها لتجميع الوحدة.
    • التوقيع: يحدّد هذا الإعداد الشهادة التي سيتم استخدامها لتوقيع تطبيقك.
  • العناصر التابعة: تعرض هذه القائمة العناصر التابعة للمكتبة والملف والوحدة لهذا العنصر. يمكنك إضافة التبعيات وتعديلها وحذفها من هذه اللوحة. لمزيد من المعلومات حول تبعيات الوحدات، راجِع ضبط صيغ الإنشاء.

  • خيارات الإنشاء: تتيح لك ضبط إصدارات مختلفة وأنواع إنشاء لمشروعك.

    • النكهات: تتيح لك إنشاء نكهات متعددة للإنشاء، حيث تحدد كل نكهة مجموعة من إعدادات الضبط، مثل الحد الأدنى لإصدار حزمة تطوير البرامج (SDK) المستهدف في الوحدة ورمز الإصدار واسم الإصدار.

      على سبيل المثال، يمكنك تحديد إصدار يتضمّن الحد الأدنى من مستوى واجهة برمجة التطبيقات 21 والمستوى المستهدَف 29، وإصدار آخر يتضمّن الحد الأدنى من مستوى واجهة برمجة التطبيقات 24 والمستوى المستهدَف 33.

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