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




ionic-framework ionic3 (5)

प्लेटफ़ॉर्म / android / project.properties में निम्नलिखित सेटिंग्स होना:

cordova.gradle.include.1=cordova-plugin-firebase/app-build.gradle
cordova.system.library.4=com.google.firebase:firebase-core:+
cordova.system.library.5=com.google.firebase:firebase-messaging:+
cordova.system.library.6=com.google.firebase:firebase-config:+
cordova.system.library.7=com.google.firebase:firebase-perf:+

मेरे पास एक ही मुद्दा था (त्रुटि: संसाधन Android: attr / ttcIndex नहीं मिला)।

[email protected] + cordova-plugin-androidx + cordova-plugin-androidx- अडैप्टर ने मेरे लिए पूरी तरह से काम किया।

इस समाधान के लिए धन्यवाद।

मैं सोच रहा हूं कि क्या यह उन दो प्लगइन्स का उपयोग करने के लिए एक अच्छा लंबे समय का दांव है। कोई राय?

मैं विशेष रूप से 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 निष्पादित करने में विफल


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 जून को 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

ionic cordova platform remove android

ionic cordova plugin remove cordova-plugin-firebase

ionic cordova plugin add cordova-plugin-firebase-[email protected].3.0

(यदि आपने यह npm इंस्टॉल हटा दिया है - save @ ionic-native / firebase @ 4 फिर से इंस्टॉल करें)

मेरे लिए एंड्रॉइड 7.0.0 में डेक्स मर्जर का मुद्दा था। इसलिए मैंने Android 8.0.0 का उपयोग किया है

Android 8.0.0 का उपयोग करने के लिए

ionic cordova platform add [email protected].0.0

if required install below 2 plugin for android 8.0.0

ionic cordova plugin add cordova-plugin-androidx

तथा

ionic cordova cordova-plugin-androidx-adapter

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

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

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





ionic3