android - Google के 17 जून के Firebase SDK अपडेट के बाद Ionic Cordova ऐप ने संकलन बंद कर दिया




ionic-framework ionic3 (4)

1. पहला उत्तर

We इसके लिए एक PR बनाया है https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/13 लेकिन इसके लिए cordova-android से 8.0.0 अपग्रेड की आवश्यकता है।

cordova-android 7.x के लिए एक वर्कअराउंड किया जा रहा है, लेकिन इस बीच, एक चर्चा भी चल रही है कि इसके लिए समर्थन रखा जाए या नहीं।

2. एडिट - जून 19, 2019

एक नया संस्करण v3.3.0 Google Firebase द्वारा जारी की गई समस्या को ठीक करने के लिए जारी किया गया है जो cordova-android <= 7.1.4 समर्थन करता है। https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/14#issuecomment-503499409

cordova plugin remove cordova-plugin-firebase-lib
# Or if you were using original fork
#cordova plugin remove cordova-plugin-firebase
cordova plugin add cordova-plugin-firebase-[email protected].3.0

3. एडिट - जून 20, 2019

एक नया संस्करण v4.0.1 Google फायरबेस रिलीज के कारण होने वाली समस्या को ठीक करने के लिए जारी किया गया है जो cordova-android >= 8.0.0 समर्थन करता है। https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/14#issuecomment-503499409

cordova plugin remove cordova-plugin-firebase-lib
# Or if you were using original fork
#cordova plugin remove cordova-plugin-firebase
cordova plugin add cordova-plugin-firebase-lib

मैं विशेष रूप से 17 जून, 2019 के अपडेट के साथ ब्रेकिंग चेंजेस के साथ फायरबेस मेजर वर्जन अपडेट के बाद आयोनिक कॉर्डोवा ऐप को संकलित करने में असमर्थ हूं।

मैंने एंड्रॉइड कॉर्डोवा 6.3.0 को अपग्रेड करने की कोशिश की, लेकिन मेरा प्रोजेक्ट 7.0.0 होना चाहिए।

यह मेरी आयनिक जानकारी है:

@ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 8.0.0

local packages:

    @ionic/app-scripts : 3.2.1
    Cordova Platforms  : android 7.0.0 browser 5.0.4
    Ionic Framework    : ionic-angular 3.9.3

System:

    Android SDK Tools : 26.1.1
    Node              : v8.9.1
    npm               : 5.5.1
    OS                : Windows 10

Environment Variables:

    ANDROID_HOME : C:\Development\android-sdk

Misc:

    backend : pro

यह त्रुटि मुझे हो रही है:

app: processDebugResources C: \ Users \ mmzep.gradle \ caches \ transforms-1 \ files-1.1 \ core-1.0.0.aar \ 73b4a83ab5e76f20c84a66b1b8444d08 \ res \ values ​​\xml: 133: AAPT: त्रुटि: : संसाधन Android: attr / fontVariationSettings नहीं मिला।

C: \ Users \ mmzep.gradle \ caches \ transforms-1 \ files-1.1 \ core-1.0.0.aar \ 73b4a83ab5e76f20c84a66b1c8444d08 \ Res \ मान \ मूल्यों। Xml: 133: 5-70: AAPT: error: resource android: attr / ttcIndex नहीं मिला।

C: \ Users \ mmzep \ Desktop \ mario \ सेवन \ SevenPassengerApp \ प्लेटफार्मों \ android \ app \ build \ मध्यवर्ती \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 95: त्रुटि: संसाधन Android: attr / fontVariationSettings नोटिफ़िकेशन मिल गया। C: \ Users \ mmzep \ Desktop \ mario \ सेवन \ SevenPassengerApp \ प्लेटफार्मों \ android \ app \ build \ मध्यवर्ती \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 95: त्रुटि: संसाधन android: attr / ttcIndex नहीं मिल गया। त्रुटि: असफल लिंक संदर्भ।

Aapt निष्पादित करने में विफल

com.android.ide.common.process.ProcessException: aapt निष्पादित करने में विफल


कॉर्डोवा-एंड्रॉइड <= 7.1.4 के लिए नीचे दिए गए अनुक्रम का पालन करें

cordova platform android को हटा दें
कॉर्डोवा प्लगइन कॉर्डोवा-प्लगइन-फायरबेस को हटा दें
कॉर्डोबा प्लगइन कॉर्डोवा[email protected] जोड़ें
cordova platform android को add करें

cordova-plugin-firebase को अब cordova-plugin-firebase-lib में शामिल किया गया है


मेरा सुझाव है कि आप अपने प्रोजेक्ट के प्लेटफ़ॉर्म / एंड्रॉइड फ़ोल्डर के अंदर अपने बिल्ड-एक्सट्रा.ग्रेड में जोड़ने का प्रयास करें:

configurations.all {
    resolutionStrategy {
         force 'com.android.support:support-v4:27.1.1'
         force 'com.google.android.gms:play-services-tagmanager:16.0.8'
         force 'com.google.android.gms:play-services-base:16.1.0'
         force 'com.google.android.gms:play-services-tasks:16.0.1'
         force 'com.google.android.gms:play-services-basement:16.2.0'
         force 'com.google.android.gms:play-services-gcm:16.1.0'
         force 'com.google.android.gms:play-services-stats:16.0.1'
         force 'com.google.android.gms:play-services-location:16.0.0'
         force 'com.google.android.gms:play-services-auth:16.0.1'
         force 'com.google.android.gms:play-services-identity:16.0.0'
    }
}

इस तरह आप बिल्ड कमांड को अपडेट्स को नजरअंदाज करने और पिछले संस्करणों का उपयोग करने के लिए मजबूर करेंगे। आपको किसी भी प्लगइन को बदलने की आवश्यकता नहीं है (न ही एंड्रॉइड प्लेटफ़ॉर्म संस्करण)!

हर बार फायरबेस के परिवादों को अद्यतन किया जाता है .. ऐसा होता है और यह बहुत कष्टप्रद होता है। मैं बिल्ड कमांड पर ऑटो निर्भरता अपडेट को बंद करने में सक्षम होना पसंद करूंगा, लेकिन मुझे नहीं लगता कि यह संभव है।


यह निर्माण विफलता 17 जून को Google Play Services और फायरबेस परिवादियों के एक प्रमुख संस्करण के रिलीज़ होने के कारण है

नए पुस्तकालय संस्करणों में निम्नलिखित आवश्यकताएं हैं:

  • अपग्रेड करें com.android.tools.build:gradle से v3.2.1 या बाद में।
  • 28 या बाद में compileSdkVersion को अपग्रेड करें।
  • Jetpack (AndroidX) का उपयोग करने के लिए अपने ऐप को अपडेट करें

पहले दो आवश्यकताओं को [email protected] का उपयोग करके अपडेट करके हल किया जा सकता है।

तीसरे के लिए आवश्यक है कि आपका Android प्रोजेक्ट AndroidX (Jetpack) का उपयोग करने के लिए माइग्रेट करे। AndroidX व्यापक रूप से उपयोग की जाने वाली Android समर्थन लाइब्रेरी का उत्तराधिकारी है। AndroidX अब Play Services / Firebase पुस्तकालयों के नवीनतम संस्करणों द्वारा उपयोग किया जाता है और समर्थन लाइब्रेरी का उपयोग कई मौजूदा प्लग cordova-plugin-firebase इन जैसे cordova-plugin-firebase द्वारा किया जाता है। दो लाइब्रेरी एक ही एंड्रॉइड बिल्ड में साइड-बाय-साइड नहीं रह सकते - ऐसा करने से विफलता का निर्माण होगा।

इस समस्या को हल करने के लिए, अपने कॉर्डोवा प्रोजेक्ट में निम्नलिखित दो प्लगइन्स जोड़ें:

  • Android प्रोजेक्ट में AndroidX को सक्षम करने के लिए AndroidX
  • cordova-plugin-androidx-adapter का उपयोग करने के लिए समर्थन लाइब्रेरी का उपयोग करके किसी भी प्लगइन्स के स्रोत कोड को गतिशील रूप से पैच करने के लिए cordova-plugin-androidx-adapter

एक परीक्षण परियोजना में इसे कैसे आज़माया जाए , इसके एक कार्यकारी उदाहरण के लिए, इस गीथब मुद्दे पर मेरी टिप्पणी देखें।

नोट: यदि आप cordova-plugin-firebase का उपयोग कर रहे हैं और त्रुटियों का सामना कर रहे हैं, तो आप इसके बजाय उस प्लगइन के मेरे कांटे का उपयोग कर सकते हैं, जो cordova-plugin-firebasex रूप में प्रकाशित होता है और नए फायरबेस एसडीके के कारण होने वाले मुद्दों को हल करने के लिए तय किया गया है।

rm -Rf platforms/android
cordova plugin rm cordova-plugin-firebase
rm -Rf plugins/ node_modules/
npm install
cordova plugin add cordova-plugin-firebasex
cordova platform add android




ionic3