اندرويد | ما الفرق بين compile و implementation في Gradle

إذا كنت مطور تطبيقات أندرويد فلا شك انك تعرف الـ Gradle
إبتداء من النسخة Gradle 3.0 تم الإستغناء "deprecated" عن إمر الإعداد "compile" وإستبداله بـ api او implementation 
لذلك السؤال الذي يراودنا ما الذي يجب تغييره في مشروعي

فقط إستبدل التالي
  • compile with implementation
  • testCompile with testImplementation
  • debugCompile with debugImplementation
  • androidTestCompile with androidTestImplementation
سؤال أخر لازال يجول في خاطري ما الفرق بين Api و implementation  ببساطة 
إذا كان تطبيقك يستخدم المكتبة X  و المكتبة x نفسها تعتمد على y,z. فإن الإمر  implementation   سيعطيك فقط المكتبة x اما في حالة API فإنه سيتم الإعتماد على x و y و z
طيب ما الفائدة ؟
النشر النظيف: عندما تستخدم بالاقتران معmaven-publish plugin ، تنتج مكتبات جافا ملفات POM files التي تميز بالضبط ما هو مطلوب لتجميع ضد المكتبة وما هو مطلوب لاستخدام المكتبة في وقت التشغيل " runtime" (وبعبارة أخرى، لا يتم المزج بينما هو مطلوب لتجميع المكتبة وما هو المطلوب من المكتبة نفسها ).

اخيراً يمكن إستخدام الأمر  compile  لا كن ينصح بعد إستخدامه وإستبداله في المكتبات الحديثة بأحد الأمرين اعلاه

تعليقات

المشاركات الشائعة من هذه المدونة

تحويل الهارد من MBR الي GPT والعكس عن طريق BOOT من بدون فقدان البيانات DATA

الشرح الشامل لربح المال للعام 2017 مع الموقع NeoBux مع طريقة التسجيل وإستراتيجية الربح

طريقة سحب الأرباح من الموقع الموثوق neobox