تحتوي مشاريع Android على العديد من الملفات وهياكل الأدلة ذات الصلة بالإصدارات تنظيم مصدر تطبيقك وموارده قبل التعمق في تفاصيل التهيئة، سنلقي نظرة على الهيكل العام والأساسيات لما ينتمي إلى كل جزء.
يسرد هذا الجدول الملفات النموذجية في مشروع Android. تُعد أوصاف كل منها الملف أو الدليل ملاحظات حول نوع المحتوى الذي ينتمي إليه. الأفضل الممارسات بمرور الوقت، وقد لا تتطابق هذه الأوصاف مع المشروع التي اكتسبها أو نزّلتها من الإنترنت.
عند كتابة ملفات الإصدار، استخدِم أسلوبًا تعريفيًا. وبناء المنطق والمهام التعريفات يجب أن تظهر في المكونات الإضافية فقط. من خلال قصر منطق الإصدار على المكونات الإضافية، ملفات الإصدار تصبح تصريحات بيانات، والتي تكون مباشرة أكثر لفهم والتعديل. قد تتضمن الإصدارات المستقبلية مواصفات بديلة مثل قاعدة بيانات توضيحية، وهي تمنع إنشاء منطق في البيانات الملفات.
مجلد/ملف |
استخدام |
---|---|
.gradle/ |
دليل ذاكرة التخزين المؤقت لمشروع Gradle مُدار بواسطة Gradle، ويحتوي على توزيع Gradle الذي تم تنزيله، وذاكرة التخزين المؤقت للمشروع، وملفات التهيئة. لا تغيِّر الملفات في هذا الدليل. |
.idea/ |
البيانات الوصفية لمشروع "استوديو Android" لا تغيِّر الملفات في هذا الدليل. |
Build.gradle(.kts) |
يجب أن يحتوي هذا الخيار فقط على إعلانات المكوّنات الإضافية لإعداد مسار فئة المكوّن الإضافي المشترك في جميع المشروعات الفرعية. يجب أن يكون أي رمز آخر موجودًا في الإعدادات أو ملفات إنشاء على مستوى المشروع المتداخلة. |
gradle.property |
يحتوي على خصائص Gradle، ويتحكم في جوانب بيئة إنشاء Gradle، مثل حجم الذاكرة والتخزين المؤقت والتنفيذ المتوازٍ. يتم تحديد بعض خصائص Android المؤقتة هنا لتقليل التغييرات على AGP DSL عند إضافتها وإزالتها لاحقًا. |
غرادلو (لينكس، ماكنتوش) gradlew.bat (نظام التشغيل Windows) |
ملف تضمين Gradle يعمل هذا الإجراء على بدء تشغيل إصدارك من خلال تنزيل توزيع Gradle ثم إعادة توجيه الأوامر إليه. ويتيح لك ذلك تنفيذ إصدارات بدون الحاجة إلى تثبيت Gradle مسبقًا. |
Local.property |
ضبط الجهاز على الجهاز يحتوي على خصائص ذات صلة بالجهاز المحلي، مثل موقع حزمة تطوير البرامج (SDK) لنظام التشغيل Android. استبعاد هذا الملف من عنصر تحكّم المصدر |
settings.gradle(.kts) |
يحتوي على معلومات إصدار عمومية لإعداد Gradle وإعداد المشروع، مثل
|
gradle/ |
|
↳ libs.versions.toml |
تحدِّد هذه السياسة المتغيّرات للتبعيات والمكوّنات الإضافية المستخدَمة في الإصدار. يمكنك تحديد الإصدارات التي تريد استخدامها هنا، مما يضمن الاتساق عبر جميع المشروعات الفرعية في مشروعك. |
برنامج تضمين ↳/ |
|
↳ gradle‐wrapper.jar |
عملية بدء تشغيل Gradle Bootstrapping قابلة للتنفيذ يتم تنزيل توزيع Gradle المحدد (إذا لم يكن موجودًا)، وتشغيله مع تمرير أي وسيطات |
↳ gradle‐wrapper.Properties |
إعداد Gradle wrapper تحدِّد هذه السياسة مكان تنزيل توزيع Gradle (بما في ذلك الإصدار المطلوب استخدامه). |
app/ |
يمكن للمشاريع الفرعية (المعروفة باسم "الوحدات" في "استوديو Android") إنشاء تطبيقات أو مكتبات وقد تعتمد على مشاريع فرعية أخرى أو تبعيات خارجية.
|
↳ build.gradle(.kts) |
ملف إنشاء على مستوى المشروع الفرعي إعلان كيفية بناء هذا المشروع الفرعي. يتطلب كل مشروع فرعي ملف إصدار منفصل، ويجب أن يحتوي على
يجب عدم تضمين منطق الإصدار (مثل تعريفات دالة Kotlin أو شروطها) أو تصريحات المهام في ملفات الإصدار. ويجب تضمين منطق الإنشاء ومهامه داخل المكوّنات الإضافية فقط. |
↳ src/ |
ملفات مصدر المشروع الفرعي تجمِّع ملفات المصدر (رمز التطبيق والمراجع) في مجموعات المصادر. تحتوي مجموعة المصادر |
↳ الرئيسي/ |
مجموعة المصادر الرئيسية رمز المصدر والموارد المشتركة في جميع صيغ الإصدار. يعمل هذا المصدر كقاعدة لجميع عمليات الإنشاء، في حين تضيف مجموعات مصادر أخرى أكثر تحديدًا إلى هذا المصدر أو تلغيه. |
↳ java/ ↳ kotlin/ |
رمز المصدر بلغة Kotlin وJava يمكن أن يحتوي الدليل |
↳ res/ |
يحتوي على موارد التطبيق، مثل ملفات XML والصور. تستخدم جميع التطبيقات بعض الموارد الأساسية، مثل رموز المشغِّل، ولكن العديد من هذه الموارد، مثل التخطيطات والقوائم، لا تُستخدم إلا في التطبيقات القائمة على العرض. تستخدم تطبيقات الإنشاء موارد السلسلة المحددة ضمن هذا الدليل. |
↳ ملف AndroidManifest.xml |
البيانات الوصفية لتطبيقات Android القراءة من خلال مدير حزمة Android لإخبار النظام
|
↳ androidTest/ |
اختبار الجهاز مجموعة المصادر يحتوي على مصدر للاختبارات التي سيتم إجراؤها على جهاز أو محاكي يعمل بنظام التشغيل Android. بإمكان هذه الاختبارات الوصول إلى بيئة Android حقيقية، ولكن تنفيذها أبطأ من الاختبارات المضيفة. |
↳ test/ |
مجموعة المصادر لاختبار المضيف يحتوي على مصدر للاختبارات التي يتم إجراؤها محليًا في JVM، مقارنةً بالاختبارات التي يتم إجراؤها على الجهاز. ويتم إجراء هذه الاختبارات بشكل أسرع بكثير من اختبارات الأجهزة. ومع ذلك، فإن أي استدعاءات للنظام (بما في ذلك دورات الحياة التي تُشغِّل تطبيقك) يجب أن يتم تقليدها أو تزييفها أو محاكاتها أو محاكاتها. جميع ملفات المصدر في المجموعة المصدر |
↳ proguard-rules.pro |
تحدِّد هذه السياسة قواعد التحكّم في تضييق نطاق التطبيقات والتحسين وإخفاء مفاتيح فك التشفير. يزيل R8 الرموز والموارد غير الضرورية، ويحسّن أداء وقت التشغيل ويقلل بشكل أكبر من الرمز عن طريق إعادة تسمية المعرّفات. |