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

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

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

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

الوحدات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

رائع

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

Kotlin

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

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

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

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

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

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

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

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

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

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

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

      على سبيل المثال، يمكنك تحديد صيغة واحدة تحتوي على الحد الأدنى من حزمة SDK 21 وحزمة SDK مستهدفة 29، وصيغة أخرى تحتوي على حد أدنى من حزمة SDK 24 وحزمة SDK مستهدفة 33.

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