"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تفشل إصدارات React Native Android الخاصة بي بعد الترقية إلى الإصدار 0.71.0-rc.0؟

لماذا تفشل إصدارات React Native Android الخاصة بي بعد الترقية إلى الإصدار 0.71.0-rc.0؟

تم النشر بتاريخ 2024-12-26
تصفح:775

Why are my React Native Android builds failing after upgrading to version 0.71.0-rc.0?

رد فعل فشل بناء Android الأصلي بسبب رد الفعل الأصلي الإصدار 0.71.0-rc.0

المشكلة:

في الآونة الأخيرة، واجه المستخدمون أخطاء مختلفة عند إنشاء تطبيقات React Native Android الخاصة بهم، على الرغم من عدم إجراء أي تغييرات على التعليمات البرمجية. قد تظهر هذه الأخطاء بشكل مختلف، ولكنها عادةً ما تتضمن عمليات تثبيت فاشلة أو مشكلات التبعية التي لم يتم حلها.

التحليل:

السبب:

يكمن السبب الجذري لفشل البناء هذا في الإصدار الأخير من React Native الإصدار 0.71.0-rc.0. يقدم هذا التحديث تبعيات تتعارض مع التكوينات الموجودة في نظام إنشاء Android.

الحل:

الطريقة الأولى:

قم بتعديل ملف build.gradle الخاص بنظام التشغيل Android لفرض استخدام مكتبة React Native المحلية ضمن دليلNode_modules. أضف الكود التالي:

buildscript { // ... } جميع المشاريع { المستودعات { محتوى حصري { مرشح { تشمل المجموعة "com.facebook.react" } للمستودع { مخضرم { عنوان url "$rootDir/../node_modules/react-native/android" } } } // ... }
buildscript {
    // ...
}

allprojects {
    repositories {
       exclusiveContent {
           filter {
               includeGroup "com.facebook.react"
           }
           forRepository {
               maven {
                   url "$rootDir/../node_modules/react-native/android"
               }
           }
       }
        // ...
    }
}

الطريقة الثانية:

إذا كان ملف gradle الخاص بك لا يدعم قاعدة المحتوى الحصرية، أضف الكود التالي بدلاً من ذلك:

def REACT_NATIVE_VERSION = ملف جديد (['العقدة'، '--طباعة'،"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json')، 'utf-8')).version"].execute( خالية، rootDir).text.trim()) بناء النصي { // ... } جميع المشاريع { التكوينات.جميع { استراتيجية القرار { فرض "com.facebook.react:react-native:" REACT_NATIVE_VERSION } } // ...
def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())

buildscript {
     // ...
}

allprojects {
    configurations.all {
          resolutionStrategy {
            force "com.facebook.react:react-native:"   REACT_NATIVE_VERSION
          }
    }
    // ...  
}

ملاحظة إضافية:

قبل تطبيق هذه الإصلاحات، يوصى بالتراجع عن أي تغييرات حديثة أجريتها على الكود الخاص بك.

المرجع:

للحصول على شرح تفصيلي وإصلاحات، يرجى الرجوع إلى التحديث الرسمي بشأن فشل بناء Android: https://github.com/facebook/react-native/issues/35210

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3