يحتوي المشروع في "استوديو Android" على كل ما يحدّد مساحة عملك لتطبيق، بدءًا من رمز المصدر ومواد العرض وصولاً إلى رمز الاختبار وإعدادات الإصدار.
عند بدء مشروع جديد، ينشئ "استوديو Android" البنية اللازمة لجميع ملفاتك ويجعلها مرئية في نافذة المشروع في "استوديو Android". لفتح النافذة، انقر على عرض > نوافذ الأدوات > المشروع.
تقدّم هذه الصفحة نظرة عامة على المكوّنات الرئيسية داخل مشروعك.
الوحدات
الوحدة هي مجموعة من ملفات المصدر وإعدادات الإصدار التي تتيح لك تقسيم مشروعك إلى وحدات منفصلة من الوظائف. يمكن أن يحتوي مشروعك على وحدة واحدة أو عدة وحدات، ويمكن أن تستخدم إحدى الوحدات وحدة أخرى كعنصر اعتمادية. يمكنك إنشاء كل وحدة واختبارها وتصحيح أخطائها بشكل مستقل. يُرجى العِلم أنّه قد يُشار إلى الوحدات باسم "المشاريع" أو "المشاريع الفرعية" في مستندات Gradle.
تكون الوحدات الإضافية مفيدة عند إنشاء مكتبات رموز برمجية ضمن مشروعك أو عندما تريد إنشاء مجموعات مختلفة من الرموز والموارد لأنواع مختلفة من الأجهزة، مثل الهواتف والأجهزة القابلة للارتداء، ولكن مع الاحتفاظ بجميع الملفات ضمن النطاق نفسه للمشروع ومشاركة بعض الرموز.
لإضافة وحدة جديدة إلى مشروعك، انقر على ملف > جديد > وحدة جديدة.
يوفّر "استوديو Android" بعض الأنواع المميّزة من الوحدات:
- وحدة تطبيق Android
توفّر حاوية لرمز المصدر الخاص بتطبيقك وملفات الموارد والإعدادات على مستوى التطبيق، مثل ملف الإصدار على مستوى الوحدة وملف بيان Android. عند إنشاء مشروع جديد، يتم تسمية وحدة التطبيق التلقائية "app."
يوفّر "استوديو Android" الأنواع التالية من وحدات التطبيق:
- الهاتف والجهاز اللوحي
- سيارات
- Wear OS
- تلفزيون
توفر كل وحدة ملفات أساسية وبعض نماذج الرموز البرمجية التي هي مناسبة لنوع التطبيق أو الجهاز المقابل.
لمزيد من المعلومات حول إضافة وحدة، يُرجى قراءة مقالة إضافة وحدة لجهاز جديد.
- وحدة الميزات
-
تمثّل ميزة مقسّمة إلى وحدات في تطبيقك يمكنها الاستفادة من ميزة عرض الميزات في
Play. على سبيل المثال، باستخدام وحدات الميزات، يمكنك تزويد المستخدمين
بميزات معيّنة في تطبيقك عند الطلب أو كتجارب فورية من خلال
تطبيقات Google Play الفورية.
يوفّر "استوديو Android" الأنواع التالية من وحدات الميزات:
- وحدة الميزات الديناميكية
- وحدة مكتبة الميزات الديناميكية الفورية
- وحدة المكتبة
توفّر حاوية للرمز القابل لإعادة الاستخدام، والذي يمكنك استخدامه كعنصر اعتمادية في وحدات التطبيق الأخرى أو استيراده إلى مشاريع أخرى. من الناحية الهيكلية، تكون وحدة المكتبة هي نفسها وحدة التطبيق، ولكن عند إنشائها، يتم إنشاء ملف أرشيف للرمز بدلاً من ملف 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 الأخرى.
- قياس الأداء > قياس الأداء الدقيق: يحتوي على الملفات اللازمة لقياس أداء الرمز بانتظام وعرض نتائج قياس الأداء. تكون وحدات قياس الأداء الدقيق مفيدة بشكل خاص لقياس أداء أجزاء أصغر من الرمز يتم استخدامها بشكل متكرّر. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة لمحة عن قياس الأداء الدقيق.
عند إنشاء وحدة مكتبة وأردت إضافتها كعنصر اعتمادية إلى وحدة تطبيق Android، عليك الإعلان عنها على النحو التالي:
أنيق
dependencies { implementation project(':my-library-module') }
Kotlin
dependencies { implementation(project(":my-library-module")) }
- وحدة الاختبار
تحافظ على فصل اختباراتك عن بقية الرمز. يمكنك ضبط وحدة الاختبار لاستهداف تنويعات إصدار معيّنة.
يوفّر "استوديو Android" الأنواع التالية من وحدات الاختبار:
- أداة إنشاء الملفات الشخصية للمرجع: تجعل الملفات الشخصية للمرجع تفاعلات المستخدمين، مثل التنقّل والتمرير، أكثر سلاسة في المرة الأولى التي يتم فيها تشغيلها. يمكنك إنشاء ملفات شخصية للمرجع لمسارات المستخدمين المهمة لتحسين أداء التطبيق وتجربة المستخدم.
- قياس الأداء > قياس الأداء الكلي: يحتوي على الملفات اللازمة لقياس أداء الرمز بانتظام وعرض نتائج قياس الأداء. تكون وحدات قياس الأداء الكلي مفيدة بشكل خاص لقياس أداء حالات الاستخدام الأكبر لتطبيقك، مثل التمرير خلال قائمة أو عمليات تعديل واجهة المستخدم الأخرى. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة كتابة اختبار قياس الأداء الكلي.
ملفات المشروع
يعرض "استوديو Android" ملفات مشروعك تلقائيًا في طريقة العرض Android. لا تعكس طريقة العرض هذه التسلسل الهرمي الفعلي للملفات على القرص. بدلاً من ذلك، يتم تنظيمها حسب الوحدات وأنواع الملفات لتسهيل التنقّل بين ملفات المصدر الرئيسية لمشروعك، مع إخفاء ملفات أو أدلة معيّنة غير شائعة الاستخدام.
في ما يلي بعض الاختلافات الهيكلية بين طريقة العرض Android و البنية على القرص:
- تعرض طريقة العرض جميع ملفات إعدادات الإصدار ذات الصلة بالمشروع في مجموعة نصوص Gradle البرمجية ذات المستوى الأعلى.
- تعرض طريقة العرض جميع ملفات البيان لكل وحدة في مجموعة على مستوى الوحدة عندما يكون لديك ملفات بيان مختلفة لنكهات منتجات وأنواع إصدارات مختلفة.
- تعرض طريقة العرض جميع ملفات الموارد البديلة في مجموعة واحدة بدلاً من مجلدات منفصلة لكل مؤهِّل مورد. على سبيل المثال، تظهر جميع إصدارات رمز مشغّل التطبيق بكثافات مختلفة جنبًا إلى جنب.
ضمن كل وحدة تطبيق Android، تظهر الملفات في المجموعات التالية:
- manifests
- يحتوي على ملف
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/- يحتوي على ملفات مجموعة رموز المصدر "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 المستهدَفة و رمز الإصدار و اسم الإصدار للوحدة.
على سبيل المثال، يمكنك تحديد نكهة واحدة تحتوي على الحد الأدنى من إصدار حزمة SDK 21 وإصدار حزمة SDK المستهدَفة 29، ونكهة أخرى تحتوي على الحد الأدنى من إصدار حزمة SDK 24 وإصدار حزمة SDK المستهدَفة 33.
- أنواع الإصدارات: تتيح لك إنشاء إعدادات الإصدار وتعديلها، كما هو موضّح في مقالة ضبط تنويعات الإصدارات. تلقائيًا، تحتوي كل وحدة على نوعَي إصدار تصحيح الأخطاء و الإصدار ، ويمكنك تحديد المزيد حسب الحاجة.
-