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

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

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

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

الوحدات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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