كيفية ترحيل مشروع Android الخاص بك إلى AndroidX

أفضل وقت للقيام بذلك هو الآن

الوقت مناسب تمامًا لتغيير مكتبة دعم Android الحالية إلى AndroidX. أعلن فريق تطوير Android بالفعل عن AndroidX في Google I / O 2018. يتعين على شركات تطوير تطبيقات Android ترحيل مشروعات تطبيقات Android إلى AndroidX في المستقبل القريب. إنها طريقة مؤكدة للتأكد من تلقي إصلاحات الأخطاء والميزات الجديدة وتحديثات المكتبة.

على الرغم من أن ترحيل AndroidX تسبب في بعض الضجة في مجتمع مطوري تطبيقات Android ، إلا أن بعض المطورين ما زالوا لا يعرفون كيف يهاجرون. يمكن أن تمنحك هذه المقالة حلاً خطوة بخطوة.

ولكن قبل التعمق في الترحيل ، دعنا نتعلم المزيد عن AndroidX.

يعد AndroidX تحسينًا كبيرًا لمكتبة دعم Android الأصلية. إنه مشروع يستخدمه فريق Android لتطوير المكتبات واختبارها وتعبئتها وإصدارها وإصدارها داخل Jetpack.

لماذا يجب أن أهاجر إلى Android X؟

تم الانتهاء من مكتبة دعم Android

28.0.x كان الإصدار الأخير الذي تم إصداره لمكتبة دعم Android ، ولم يعد هناك إصلاحات للأخطاء أو دعم قادم من المسؤولين.

إدارة حزمة أفضل

سيضمن AndroidX الإصدارات القياسية والتسمية والإصدارات المتكررة بشكل موحد ومستقل.

لقد هاجرت مكتبات أخرى

بعض المكتبات البارزة التي تتطلب AndroidX الآن:

  • خدمات Google Play
  • Firebase
  • سكين زبدة
  • انسل من
  • موكيتو 2
  • SQLDelight

ستكون المكتبات الجديدة لـ AndroidX

ستكون جميع المكتبات الجديدة في مساحة الاسم Androidx. يتضمن هذا مكتبات جديدة مثل Jetpack Compose و CameraX.

كيف سنهاجر؟

لذا قبل إجراء الترحيل ، إليك بعض الأشياء التي يمكنك القيام بها لإعداد مشروعك للهجرة حتى تتمكن من الحصول على تجربة أكثر سلاسة.

  • عمل نسخة احتياطية من مشروعك

قد يغير الترحيل العديد من الملفات في مشروعك.

  • تقليل تطوير الميزة أثناء الترحيل
  • تخصيص فرع الهجرة

دعنا نذهب من خلال عملية خطوة بخطوة للترحيل.

1. قم بتحديث إصدار مكتبة دعم Android إلى 28

إذا كنت تستخدم إصدارًا قديمًا وبدأت في الترحيل إلى Androidx ، فستواجه وقتًا سيئًا لأنه لن تحتاج فقط إلى معالجة تغييرات مساحة الاسم ولكن أيضًا تغييرات واجهة برمجة التطبيقات من 26 أو 27 إلى Androidx.

الإصدار 28 من مكتبة دعم Android و AndroidX 1.0 هما معادلان ثنائيان. وهذا يعني تغيير أسماء الحزم فقط بين هذين الإصدارين ، وجميع واجهات برمجة التطبيقات هي نفسها.

الآن بعد أن رحلت مشروعك إلى الإصدار 28 من مكتبة دعم Android ، فلنلقِ نظرة على الخطوة 2.

2. تمكين Jetifier

يقوم Jetifier بترحيل تبعيات الطرف الثالث لاستخدام AndroidX.

سيؤدي ذلك بالفعل إلى تغيير رمز رحلة التبعيات لتتوافق مع مشروعك الذي يستخدم AndroidX.

لن يقوم Jetifier بترحيل كود المصدر والشفرة التي تم إنشاؤها.

لتمكين Jetifier ، ما عليك سوى اتباع الخطوات التالية.

أضف ما يلي إلى gradle.properties الخاص بك:

android.useAndroidX = صحيح

android.enableJetifier = صحيح

عندما تقوم بإكمال التعليمات البرمجية واستيراد المكتبات ، فإنك تقوم باستيراد إصدار Androidx من تلك المكتبة بدلاً من إصدار مكتبة دعم Android القديم.

3. تحديث التبعيات

قد تحتاج تبعيات الطرف الثالث إلى تحديثات.

  • سكين زبدة
  • انسل من
  • موكيتو 2
  • SQLDelight

لن يقوم Jetifier بتعديل مكتبات إنشاء التعليمات البرمجية ، لذلك قد تحتاج إلى التحقق مما إذا كانت متوافقة بالفعل مع AndroidX أم لا.

هناك بعض الأخطاء الشائعة إذا تخطيت الخطوتين 2 و 3:

مصدر

4. استخدم Android Studio 3.2 أو أعلى

يحتوي إصدار Android Studio هذا على زر "Migrate to AndroidX".

5. سيناريو باش

إنه يستبدل جميع مثيلات شفرة المصدر الخاصة بحزم مكتبات الدعم بإصدار AndroidX.

انظر إلى النص أدناه:

مصدر البرنامج النصي Bash

يرجى أن تضع في اعتبارك عند استخدام هذا البرنامج النصي أنه قوة غاشمة للغاية. قد تقوم ببعض عمليات الترحيل هذه بشكل غير صحيح في بعض الحالات ، لذا كن على دراية بذلك عند استخدام هذا النوع من المنهجية.

المشكلات التي قد تواجهها أثناء الترحيل

1. الأنماط

حالة شائعة تتطلب التدخل اليدوي مثل ملفات تكوين الإصدار.

قبل الهجرة:

مصدر

بعد الهجرة:

مصدر

في مثال ما بعد الترحيل ، لا تتغير الأرقام المتغيرة بعد ، لذلك لا تعدل الأدوات ذلك. ستحتاج إلى تحديث هذا يدويًا:

مصدر

2. ملفات ProGuard

ستحتاج إلى تغيير أسماء الحزم يدويًا في ملفات قواعد ProGuard.

3. بناء البرامج النصية

الاحتياطات الواجب اتخاذها أثناء الهجرة الخاصة بك

  • حاول إجراء الترحيل على فرع منفصل
  • عند إجراء هذا الترحيل ، من الجيد التركيز فقط على معالجة الأخطاء وتجميع تطبيقك (واجتياز جميع الاختبارات مرة أخرى)
  • لا تحاول القيام بإعادة هيكلة ولا تحاول جذب ميزات جديدة خلال هذا الوقت

لذلك عند تشغيل أداة الترحيل هذه ، قد يكون لديك إصدار ألفا أو إصدار ثابت من المكتبة ، اعتمادًا على أحدث إصدار.

عند تشغيل أدوات الترحيل ، ينقل تطبيق appcompat إلى إصدار ألفا من المكتبة.

مصدر

لذلك هذا شيء ستحتاج إلى العودة والتحقق يدويًا (لمعرفة الإصدار الذي تم ترحيله إليه وللتأكد أيضًا من تحديد الإصدار المناسب لاحتياجاتك).

خاتمة

ترميز سعيد. آمل أن تكون قد استمتعت بقراءة هذا المقال.

  • ترحيل AndroidX في مشروع عينة
  • أداة تتبع المشكلات الخاصة بترحيل AndroidX
  • ترحيل AndroidX

إذا كنت تريد أن تعرف عن أداة فك الشفرة الجديدة R8 ، فيرجى مراجعة مقالتي السابقة.