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

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

عند بدء مشروع جديد، ينشئ Android Studio البنية اللازمة لجميع ملفاتك ويجعلها مرئية في نافذة المشروع في Android Studio. لفتح النافذة، اختَر عرض > نوافذ الأدوات > المشروع.

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

الوحدات

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

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

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

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

وحدة تطبيق Android

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

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

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

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

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

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

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

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

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

وحدة المكتبة

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

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

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

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

رائع

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

Kotlin

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

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

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

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

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

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

في ما يلي بعض الاختلافات الهيكلية بين عرض Android و البنية على القرص، وهي أنّ عرض Android:

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

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

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

عرض "المشروع"

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

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

module-name/
build/
تتضمّن نتائج الإنشاء.
libs/
يحتوي على مكتبات خاصة.
src/
يحتوي على جميع ملفات الرموز البرمجية وملفات الموارد للوحدة في الدلائل الفرعية التالية:
androidTest/
يحتوي على رمز لاختبارات الأدوات التي يتم تشغيلها على جهاز Android. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة الاختبار في Android Studio.
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 كما هي. على سبيل المثال، هذا هو الموقع الجغرافي المناسب للعناصر المرئية وبيانات اللعبة. يمكنك التنقّل في هذا الدليل بالطريقة نفسها المستخدَمة في نظام الملفات العادي، باستخدام عناوين URL وقراءة الملفات كبث من وحدات البايت باستخدام AssetManager.
test/
يحتوي على رمز للاختبارات المحلية التي يتم تشغيلها على آلة Java الافتراضية للمضيف.
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 والإصدار المستهدَف من حزمة تطوير البرامج (SDK) 29، وإصدار آخر له الحد الأدنى من إصدار حزمة تطوير البرامج (SDK) 24 والإصدار المستهدَف من حزمة تطوير البرامج (SDK) 33.

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