github/gitignore · Android.gitignore
شرح قالب .gitignore لـ Android
يشرح سبب تجاهل Android.gitignore لذاكرة Gradle ونتائج البناء وlocal.properties وملفات APK وAAB و.idea ومخازن مفاتيح التوقيع وgoogle-services.json، ومعايير الحكم عليها.
Android.gitignore مخصص لمشاريع التطبيقات التي تُبنى بـ Android Studio وGradle. يحجب ذاكرة بناء Gradle ومخرجاته، ومسار SDK الذي لا معنى له إلا على حاسوب المطور، والملفات الحساسة مثل مفاتيح توقيع التطبيق.
يختلف عن قالب JetBrains في أنه يتجاهل مجلد بيئة التطوير .idea/ بأكمله. إن أردت مشاركة نمط الشيفرة أو تهيئات التشغيل مع الفريق فعليك تعديل هذه القاعدة.
شرح القواعد
| النمط | ما الذي يتجاهله ولماذا |
|---|---|
.gradle/build/.kotlin/ | ذاكرة Gradle والبناءذاكرة مهام Gradle، ونتائج البناء لكل وحدة، وبيانات ملحق Kotlin 2.0. كلها يُعاد إنشاؤها. |
local.properties | الإعدادات المحليةيحوي مسار تثبيت Android SDK وNDK (sdk.dir)، فتختلف قيمته من شخص لآخر. ينشئه Android Studio تلقائيًا. |
.externalNativeBuild/.cxx/ | البناء الأصليمجلدات وسيطة تنشأ عند بناء شيفرة C/C++ عبر CMake أو ndk-build. |
*.apk*.aaboutput-metadata.json | حزم التطبيقملفات APK وApp Bundle المبنية وبياناتها الوصفية. تُعالج في الرفع إلى المتجر أو في مسار النشر. |
*.iml.idea/misc.xmldeploymentTargetDropDown.xmlrender.experimental.xml | ملفات بيئة التطويرملفات وحدات Android Studio ومجلد إعدادات بيئة التطوير، وملفات تحوي حالة شخصية مثل الجهاز المختار هدفًا للنشر. |
*.jks*.keystore | مفاتيح التوقيعمخازن المفاتيح المستخدمة لتوقيع التطبيق. إن تسربت أمكن لغيرك نشر تطبيق بالتوقيع نفسه، لذا لا توضع في المستودع. |
google-services.json | إعدادات Firebase وخدمات Googleيحوي معرّف مشروع Firebase ومفتاح API. ليس مفتاحًا سريًا، لكنه يُستبعد كثيرًا في المستودعات العامة، وإذا استُبعد فيجب إدخاله بشكل منفصل في CI ليتم البناء. |
captures/*.hprof*.log | ملفات التشخيصلقطات أداة التوصيف (profiler) وتفريغات الكومة (heap dump) والسجلات. حجمها كبير وتُستخدم مرة واحدة. |
ملاحظات عملية
- أودِع
gradlewوgradlew.batوgradle/wrapper/. لا يتجاهل هذا القالب*.jar، لكن إن استخدمته مع قالب Java فضع قالب Gradle بعده لتستعيد ملف jar الخاص بالمغلّف. - إن أردت مشاركة نمط الشيفرة (
.idea/codeStyles/) فاستخدم القواعد التفصيلية في قالب JetBrains بدل.idea/. - إن كان فريقك يودِع
google-services.jsonفاحذف هذا السطر. وفي كلتا الحالتين لا تودِع مفاتيح حساب الخدمة (JSON).
القالب الأصلي
Android.gitignore
# Gradle files.gradle/build/.kotlin/# Local configuration file (sdk path, etc)local.properties# Log/OS Files*.log# Android Studio generated files and folderscaptures/.externalNativeBuild/.cxx/*.aab*.apkoutput-metadata.json# IntelliJ*.iml.idea/misc.xmldeploymentTargetDropDown.xmlrender.experimental.xml# Keystore files*.jks*.keystore# Google Services (e.g. APIs or Firebase)google-services.json# Android Profiling*.hprof
مصدر القوالب: github/gitignore/Android.gitignore @356fd7b (2026-09-11) · CC0-1.0