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

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

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

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

الوحدات

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

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

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

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

وحدة تطبيق Android

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

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

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

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

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

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

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

  • وحدة الميزات الديناميكية
  • وحدة Instant Dynamic Feature Library

لمزيد من المعلومات، يمكنك الاطّلاع على مقالة عرض الميزات في 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 Native Interface (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 وحزمة NDK لنظام التشغيل Android التي يستخدمها مشروعك.
  • المتغيرات: تتيح لك تعديل المتغيرات المستخدَمة في نصوص البرامج الخاصة بالإنشاء.
  • الوحدات: تتيح لك تعديل إعدادات التصميم الخاصة بالوحدة، بما في ذلك حزمة SDK المستهدَفة والحد الأدنى من إصدارها وتوقيع التطبيق واعتمادات المكتبة. تنقسم صفحة إعدادات كل وحدة إلى علامات التبويب التالية:
    • السمات: تحدّد هذه السمة إصدارات حزمة SDK وأدوات الإنشاء التي سيتم استخدامها لتجميع الوحدة.
    • التوقيع: يحدّد هذا الخيار الشهادة التي سيتم استخدامها لتوقيع تطبيقك.
  • العناصر التابعة: تعرض هذه القائمة العناصر التابعة للمكتبة والملف والوحدة لهذا الأخير. يمكنك إضافة التبعيات وتعديلها وحذفها من هذه اللوحة. لمزيد من المعلومات حول تبعيات الوحدات، يُرجى الاطّلاع على إعداد تنويعات الإصدارات.

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

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

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

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