2017-01-03 4 views
8

मुझे 2.1.1 से 2.3.1 तक कॉर्डोवा कैमरा प्लगइन अपडेट करने के बाद बिल्ड त्रुटि मिल रही है। नीचे संस्करण विवरणकॉर्डोवा कैमरा प्लगइन को अपग्रेड करने के लिए एंड्रॉइड बिल्ड त्रुटि

कॉर्डोवा संस्करण: 6.3.1, कॉर्डोवा-प्लगइन-कैमरा 2.1.1 "कैमरा" है। cmd: कमान बाहर निकलने के साथ विफल नीचे दिए गए चरणों मैं followin हूँ

cordova plugin remove cordova-plugin-camera --save 
cordova plugin add cordova-plugin-camera --save 

मैं देख रहा हूँ config.xml फ़ाइल

को अद्यतन किया गया है जब मैं कॉर्डोबा एंड्रॉयड निर्माण का निर्माण मैं नीचे त्रुटि त्रुटि प्राप्त कर रहे हैं कोड 1 त्रुटि आउटपुट: नोट: कुछ इनपुट फ़ाइलें बहिष्कृत API का उपयोग या ओवरराइड करती हैं। नोट: एक्सक्लिंट के साथ पुन: संकलित करें: विवरण के लिए बहिष्करण। नोट: कुछ इनपुट फ़ाइलें बहिष्कृत API का उपयोग या ओवरराइड करती हैं। नोट: एक्सक्लिंट के साथ पुन: संकलित करें: विवरण के लिए बहिष्करण। चेतावनी: स्ट्रिंग 'menu_settings' का कोई डिफ़ॉल्ट अनुवाद नहीं है।

प्लेटफ़ॉर्म \ android \ src \ org \ apache \ cordova \ camera \ CameraLauncher.java: 32: त्रुटि: प्रतीक नहीं मिल सकता आयात org.apache.cordova.BuildHelper; प्रतीक: कक्षा BuildHelper स्थान: पैकेज org.apache.cordova प्लेटफ़ॉर्म \ android \ src \ org \ apache \ cordova \ camera \ CameraLauncher.java: 140: त्रुटि: प्रतीक यह नहीं मिल सकता है। एप्लिकेशन = (स्ट्रिंग) BuildHelper। GetBuildConfigValue (cordova.getActivity(), "APPLICATION_ID"); ^ प्रतीक: परिवर्तनीय BuildHelper स्थान: कक्षा कैमरा लांचर नोट: कुछ इनपुट फ़ाइलें किसी बहिष्कृत API का उपयोग या ओवरराइड करती हैं। नोट: एक्सक्लिंट के साथ पुन: संकलित करें: विवरण के लिए बहिष्करण। नोट: कुछ इनपुट फ़ाइलें अनचेक या असुरक्षित संचालन का उपयोग करती हैं। नोट: एक्सक्लिंट के साथ पुन: संकलित करें: विवरण के लिए अनचेक किया गया। 2 त्रुटियां

विफलता: अपवाद के साथ विफल विफलता।

  • क्या गलत हो गया: निष्पादन कार्य के लिए विफल ': compileDebugJavaWithJavac'।

    Compilation failed; see the compiler error output for details.

  • प्रयास करें: स्टैक ट्रेस पाने के लिए --stacktrace विकल्प के साथ भागो। अधिक लॉग आउटपुट प्राप्त करने के लिए --info या - डीबग विकल्प के साथ चलाएं।

+1

किया आप को दूर करने की कोशिश की और फिर से जोड़ने इसे बनाने से पहले एंड्रॉइड मंच एक बार? उम्मीद है कि इस मुद्दे को हल करना चाहिए – Gandhi

+0

यह काम नहीं किया। – user2934433

उत्तर

31

हमने इसे संस्करण 1.1.0 के स्थापित करने के लिए मजबूर कर हल किया।

यहाँ आदेशों हम CLI से भाग गया है:

cordova plugin remove cordova-plugin-compat --force 
cordova plugin add [email protected] 
+0

यह एक lifesaver आदमी है, अभी भी –

+0

यह मेरे लिए भी काम किया। लेकिन मैं विजुअल स्टूडियो 2015 कॉर्डोवा उपकरण का उपयोग कर रहा हूं। इन प्लगइन्स को हटाने और जोड़ने के लिए मुझे कठिन प्रक्रिया से गुजरना पड़ा। मैंने अपने ब्लॉग पर इस पर एक ब्लॉग पोस्ट लिखा था। कृपया बेलो लिंक का पालन करें। http://guntucomputerhacks.blogspot.com।एयू/2017/04/कॉर्डोवा-कैमरा-प्लगइन-संस्करण-240.html –

+0

यदि आप "अपाचे कॉर्डोवा के लिए विजुअल स्टूडियो टूल्स" का उपयोग कर रहे हैं तो आपको उपरोक्त आदेशों को "पैकेज प्रबंधक कंसोल" में चलाने की आवश्यकता हो सकती है और यदि आपको कोई मिलता है त्रुटि कह रही है "वर्तमान कार्य निर्देशिका एक कॉर्डोवा-आधारित प्रोजेक्ट नहीं है" तो आपको बस एक DOS कमांड का उपयोग करके अपनी वर्तमान कार्यशील निर्देशिका को बदलने की आवश्यकता है। मेरे मामले में, मैं यह पता लगाने के लिए डीआईआर चलाता हूं कि मेरी वर्तमान कार्यशील निर्देशिका कौन सी थी और फिर मैं कॉर्डोवा-आधारित प्रोजेक्ट निर्देशिका में जाने के लिए सीडी ऐप चलाता हूं। इसके बाद, इस उत्तर में सूचीबद्ध समाधान कोई त्रुटि के साथ पूरी तरह से ठीक काम किया। –

3

आप संस्करण 1.1

+0

मैं प्लगइन का नवीनतम संस्करण प्राप्त करने का प्रयास कर रहा हूं, संस्करण – user2934433

20

मैं आज एक ही समस्या में भाग को कॉर्डोबा-प्लगइन-कैमरा नवीनीकृत करना चाहिए। मुझे प्लगइन cordova-plugin-compat को दोबारा स्थापित करके ठीक किया गया है। निर्भरताओं के कारण मैंने उपयोग किया - बल।

cordova plugin remove cordova-plugin-compat --force 
cordova plugin add cordova-plugin-compat 
+0

को डाउनग्रेड नहीं करना चाहता, क्या आप मुझे उपयोग कर रहे प्लगइन के संस्करण प्रदान कर सकते हैं। – user2934433

+0

सभी प्लगइन्स को अद्यतित रखने के लिए यह एक अच्छा अभ्यास है, और एसकेडी टूल्स भी –

+0

मैंने कैमरा प्लगइन v2.4.0 स्थापित किया, फिर मेरा निर्माण विफल हो गया। अफसोस की बात है, उपर्युक्त प्रक्रिया मेरे लिए विफल रही (जब मैंने उपरोक्त किया, तो बाद में मुझे कॉर्डोवा अपडेट स्थापित करने के लिए कहा गया)। जब मैंने कैमरा 2.4.0 प्लगइन हटा दिया, तो मेरे निर्माण फिर से काम करेंगे। मैं यह देखने के लिए चारों ओर शिकार करूंगा कि कोई अन्य सुझाव/फिक्स है या नहीं। – Mark

2

मुझे एक ही त्रुटि मिली। यह वास्तव में संस्करण 1.1 (नवीनतम) में अपग्रेड करके, कॉर्डोवा-प्लगइन-कंपैट प्लगइन (1.0) के पुराने संस्करण के कारण होता है, यह काम करेगा।

यहाँ मैं क्या किया

  1. निकालें सभी प्लेटफार्मों

    कॉर्डोबा मंच को दूर एंड्रॉयड

    कॉर्डोबा मंच ios हटाने

  2. वर्ष प्लगइन निकालें और जोड़ने है, नए

    कॉर्डोवा प्लगइन कॉर्डोव हटा दें एक-प्लगइन-compat

    कॉर्डोबा प्लगइन कॉर्डोबा-प्लगइन-compat

  3. वापस

    कॉर्डोबा मंच एंड्रॉयड

    कॉर्डोबा मंच ios जोड़ने

  4. फिर से संकलन जोड़ने के सभी प्लेटफार्मों जोड़े को जोड़ने और सब कुछ काम करता है!

0

मैं नीचे दी गई विधि में परिवर्तन किए हैं।

// intiatiate you action accordingly 
if (action.equals("takePicture")) { 
      this.srcType = CAMERA; 
      this.destType = FILE_URI; 
      this.saveToPhotoAlbum = false; 
      this.targetHeight = 0; 
      this.targetWidth = 0; 
      this.encodingType = JPEG; 
      this.mediaType = PICTURE; 
      this.mQuality = 50; 

      // 
      this.destType = args.getInt(1); 
      this.srcType = args.getInt(2); 
      this.mQuality = args.getInt(0); 
      this.targetWidth = args.getInt(3); 
      this.targetHeight = args.getInt(4); 
      this.encodingType = args.getInt(5); 
      this.mediaType = args.getInt(6); 
      this.allowEdit = args.getBoolean(7); 
      this.correctOrientation = args.getBoolean(8); 
      this.saveToPhotoAlbum = args.getBoolean(9); 

      // If the user specifies a 0 or smaller width/height 
      // make it -1 so later comparisons succeed 
      if (this.targetWidth < 1) { 
       this.targetWidth = -1; 
      } 
      if (this.targetHeight < 1) { 
       this.targetHeight = -1; 
      } 

       if (this.targetHeight == -1 && this.targetWidth == -1 && this.mQuality == 100 && 
        !this.correctOrientation && this.encodingType == PNG && this.srcType == CAMERA) { 
       this.encodingType = JPEG; 
      } 

      try { 
       if (this.srcType == CAMERA) { 
        this.callTakePicture(destType, encodingType); 
       } 
       else if ((this.srcType == PHOTOLIBRARY) || (this.srcType == SAVEDPHOTOALBUM)) { 
        // FIXME: Stop always requesting the permission 
        if(!PermissionHelper.hasPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)) { 
         PermissionHelper.requestPermission(this, SAVE_TO_ALBUM_SEC, Manifest.permission.READ_EXTERNAL_STORAGE); 
        } else { 
         this.getImage(this.srcType, destType, encodingType); 
        } 
       } 
      } 
      catch (IllegalArgumentException e) 
      { 
       callbackContext.error("Illegal Argument Exception"); 
       PluginResult r = new PluginResult(PluginResult.Status.ERROR); 
       callbackContext.sendPluginResult(r); 
       return true; 
      } 

      PluginResult r = new PluginResult(PluginResult.Status.NO_RESULT); 
      r.setKeepCallback(true); 
      callbackContext.sendPluginResult(r); 

      return true; 
     } 
     return false; 
    } 
2

मुझे कैमरा प्लगइन 2.3.1 से भी त्रुटि मिल रही थी। यह एप्लिकेशन आईडी प्राप्त करने के लिए कॉर्डोवा-प्लगइन-कंपैट पर निर्भरता की वजह से है। कॉर्डोवा-प्लगइन-कंपैट को हटाने और 1.1.0 इंस्टॉल करने से, मेरे लिए काम नहीं किया।

इस से "src/एंड्रॉयड/CameraLauncher.java" इस कोड को निकालने ठीक करने के लिए:

140  -  this.applicationId = (String) BuildHelper.getBuildConfigValue(cordova.getActivity(), "APPLICATION_ID"); 
141  -  this.applicationId = preferences.getString("applicationId", this.applicationId); 

और जोड़ें:

140  +  this.applicationId = cordova.getActivity().getPackageName(); 

enter image description here

संबंधित मुद्दे