2015-02-20 6 views
14

मुझे वांछित परिणाम प्राप्त करने के लिए ionic platform add android/iOs कुछ बार चलाने की आवश्यकता है। कभी-कभी प्लगइन को पहले चलाने के बाद जोड़ा जाता है, लेकिन आमतौर पर मुझे प्लगइन्स और प्लेटफ़ॉर्म निर्देशिकाएं मिटा दी जाती हैं और प्लेटफ़ॉर्म चक्र को कुछ बार फिर से चलाने की आवश्यकता होती है जब तक कि सभी प्लगइन्स एंड्रॉइड फ़ोल्डर में जोड़े नहीं जाते।कॉर्डोवा जोड़ने के बाद प्लगइन्स हमेशा जोड़ा नहीं जाता है और एंड्रॉइड और आईओएस

क्या किसी और को भी एक ही समस्या का अनुभव हुआ और यदि हाँ - संकल्प क्या है? अग्रिम

+0

मुझे अभी भी एक ही समस्या है ... कोई विचार? – batanasov

+0

किस पर आप काम कर रहे हैं? यह लेखन अनुमति मुद्दे की तरह लगता है। – grytrn

+0

यह ओएसएक्स है। अगर यह एक लेखन अनुमति मुद्दा था, तो मैं इसे – batanasov

उत्तर

2
समाधान है कि मैं का उपयोग कर समाप्त हो गया

में यदि कोई ...

धन्यवाद स्थापना रद्द करें और मंच को जोड़ने के बाद सभी प्लग-इन को पुनर्स्थापित करने के लिए है। चूंकि मुझे पिछले कॉर्डोवा ऐप्स में इस समस्या के साथ परेशानी हुई है, इसलिए मैं जितना संभव हो उतना संगत बनाने की कोशिश कर रहा हूं, इसलिए मैं प्लेटफॉर्म निर्देशिका नहीं कर रहा हूं और एपीके बनाने के बाद इसे हटा रहा हूं। मैं एक स्क्रिप्ट के साथ इस किया है:

ionic platform add android 

ionic plugin remove org.apache.cordova.device 
ionic plugin remove org.apache.cordova.console 
ionic plugin remove com.ionic.keyboard 

ionic plugin add org.apache.cordova.device 
ionic plugin add org.apache.cordova.console 
ionic plugin add com.ionic.keyboard 

platforms/android/cordova/build --release 

rm -rf platforms 

यह लगातार मेरे लिए काम किया है, लेकिन जब से मैं नहीं बल्कि इस वर्तमान रखने के बारे में चिंता करने की ज़रूरत नहीं होगी, मैं में इन आदेशों स्थानांतरित कर दिया: after_platform_add/010_install_plugins। जे एस, निम्नलिखित परिवर्धन के साथ:

packageJSON.cordovaPlugins = packageJSON.cordovaPlugins || []; 

packageJSON.cordovaPlugins.forEach(function(plugin) { 
    exec('cordova plugin remove ' + plugin, function(error, stdout, stderr) { 
    sys.puts(stdout); 
    }); 
}); 

packageJSON.cordovaPlugins.forEach(function(plugin) { 
    exec('cordova plugin add ' + plugin, function(error, stdout, stderr) { 
    sys.puts(stdout); 
    }); 
}); 

मतलब यह है कि इन पंक्तियों के साथ कुछ जड़ JSON ऑब्जेक्ट में package.json में मौजूद है:

"cordovaPlugins": [ 
    "org.apache.cordova.console", 
    "org.apache.cordova.device", 
    "com.ionic.keyboard" 
] 

कौन सा shou ld स्वचालित रूप से तब होता है जब after_plugin_add/010_register_plugin.js ठीक से काम कर रहा है।

सभी ने कहा, मुझे लगता है कि यह इस तरह की हैकी है और आईओनिक को यह सब ठीक से संभालना चाहिए, इसलिए उम्मीद है कि मुझे चीजों के उस तरफ इस मुद्दे को देखने के लिए कुछ समय मिल सकता है और इसके मूल मुद्दे को ढूंढ सकता है मुसीबत।

+0

पर नहीं कर पाऊंगा, क्या 'कॉर्डोवा तैयार नहीं है [प्लेटफ़ॉर्म]' वास्तव में इसकी आवश्यकता है? यह प्रोजेक्ट प्लगइन फ़ोल्डर से लक्ष्य प्लेटफॉर्म पर फ़ाइलों पर प्रतियां। – laughingpine

+0

'कॉर्डोवा बिल्ड' के लिए एक शॉर्टकट है: 'कॉर्डोवा तैयार', 'कॉर्डोवा संकलन', इसलिए आपको जो कुछ भी चाहिए वह करना चाहिए। समस्या यह है कि यह वास्तव में काम करता है या नहीं, यह हिट या मिस की तरह है। मुझे वास्तव में ऐसा कुछ चाहिए जो वास्तव में पुनरुत्पादित है (हम अपने ग्राहकों को निरंतर तैनाती करते हैं)। यह विधि चाल चलती है। – jbeck

+0

इससे मेरे लिए समस्या का समाधान नहीं हुआ। समस्या अभी भी बनी हुई है। – batanasov

0

मुझे लगता है कि मुझे इस मुद्दे का समाधान मिला है। मंच जोड़ने के लिए आयनिक क्ली का उपयोग करने के बजाय मैं sudo cordova platform add ... का उपयोग कर रहा हूं। यह हर बार काम कर रहा है।

+4

आपको इस आदेश के लिए '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' sudo'''' का उपयोग नहीं करना चाहिए – com2ghz

24

मैंने कुछ ऐसी ही समस्याओं का अनुभव किया है। अपने आयनिक परियोजना reseting का प्रयास करें:

ionic state reset 

यह platforms/ और plugins/ फ़ोल्डर दूर करता है और उन्हें अपने package.json में संग्रहीत जानकारी से पुनर्स्थापित करता है। ionic-cli project पर दस्तावेज किए गए कुछ अन्य उपयोगी आदेश हैं।

+0

इसने मेरे लिए एक सपना काम किया! –

+0

बिल्कुल सही, मुझे यह आदेश पसंद है। – jlafay

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