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

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

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

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

الوحدات

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

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

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

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

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

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

  • الهاتف والجهاز اللوحي
  • Automotive
  • Wear OS
  • التلفزيون
  • أداة إنشاء الملف الشخصي الأساسي
  • مقياس الأداء

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

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

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

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

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

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

وحدة المكتبة
يوفّر حاوية للرمز البرمجي القابل لإعادة الاستخدام، والذي يمكنك استخدامه كعنصر تابع في وحدات التطبيق الأخرى أو استيراده إلىمشاريع أخرى. من الناحية الهيكلية، تتشابه وحدة المكتبة مع وحدة التطبيق، ولكن عند إنشائها، يتم إنشاء ملف أرشيف رمز بدلاً من ملف 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 الأخرى.

يُشار أحيانًا إلى الوحدات باسم مشاريع فرعية، لأنّ IDE ‫Gradle يشير أيضًا إلى الوحدات باسم مشاريع.

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

رائع

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

Kotlin

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

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

يعرض "استوديو 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.

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