2013-09-02 5 views
6

विंडोज़ पर फोनगैप 3.0, एंड्रॉइड प्लेटफॉर्म, एक्लिप्स में डिबगिंग के साथ काम करना।फोनगैप - एपीआई सुविधाओं के साथ 3.0 समस्याओं में अपग्रेड

मैं संकलन करने के लिए अपना पुराना ऐप प्राप्त करने में सक्षम था, लेकिन जब मैं एक प्लगइन है जो अब एक सुविधा का उपयोग करने का प्रयास करता हूं तो मुझे एक नई समस्या आई है।

मैंने सीएलआई उपकरण के माध्यम से मुझे आवश्यक सभी प्लगइन जोड़े हैं और config.xml फ़ाइल में "फीचर" डेटा जोड़ा है, इसलिए मुझे लगता है कि वे कॉल करने के लिए उपलब्ध हैं। अनुमतियों को मैनिफेस्ट फ़ाइल में भी सेट किया गया है।

FileTransfer

मुझे लगता है कि फाइल ट्रांसफर एपीआई उदाहरण कोड 3.0 के लिए नहीं बदला है, तो मैं कॉल मेरी कोड में एक ही छोड़ दिया है। तो फ़ाइल डाउनलोड करेगा लेकिन फिर मैं एक त्रुटि है कि मेरे ऐप दुर्घटना

" 
D/CordovaLog(12883): file:///android_asset/www/phonegap.js: Line 932 : Uncaught Error: Error calling method on NPObject! 
" 

बनाता है मैं कुछ इस त्रुटि के लिए खोज की थी और वहाँ एक मानक समाधान हो प्रतीत नहीं होता है?

शायद प्लगइन के भीतर मौजूद सुविधाओं को कॉल करने का एक नया तरीका है? क्योंकि मैं त्रुटियों के बिना ऑडियो फ़ाइल भी नहीं चला सकता। ध्वनि फ़ाइल खेलेंगे लेकिन त्रुटियों का कारण बन जाएगी।

" 
09-01 20:13:17.274: W/PluginManager(13279): THREAD WARNING: exec() call to Media.startPlayingAudio blocked the main thread for 23ms. Plugin should use CordovaInterface.getThreadPool(). 
" 

मैंने मीडिया एपीआई को फिर से पढ़ा है और थ्रेड पूल का कोई उल्लेख नहीं है। मैं जावास्क्रिप्ट में अपने सभी प्रोग्रामिंग कर रहा हूँ।

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

" 
09-01 20:10:04.206: E/AudioPlayer(13279): FAILED renaming /mnt/sdcard/tmprecording.3gp to /sdsub/myapp/Recorded/myRecording.amr 
" 

मैं अपनी फ़ाइल के माध्यम से फिर से फाइल स्थानांतरण एपीआई का परीक्षण समारोह को दूर फेंकता है और यह भी

में विफल रहा है
" 
09-01 20:16:00.884: W/PluginManager(13279): THREAD WARNING: exec() call to File.remove blocked the main thread for 19ms. Plugin should use CordovaInterface.getThreadPool(). 
" 

ऐसा लगता है कि काम कैसे बदल गया है, लेकिन यह कहीं भी दस्तावेज नहीं है, यह आवश्यक प्रकृति की तरह प्रतीत होता है। एपीआई कॉल पुराने संस्करणों से अपरिवर्तित प्रतीत होते हैं, बस आप एपीआई सुविधाओं को कैसे इंस्टॉल करते हैं, अलग है, लेकिन मैंने उस गाइड का पालन किया और उन्हें इंस्टॉल किया।

क्या कोई नई एपीआई गाइड है जिसे मैंने याद किया है? क्योंकि फोनगैप एपीआई दस्तावेज 3.0 में इन सुविधाओं को कैसे बुलाया जाता है, इस बारे में नहीं बदला है।

धन्यवाद।

मेरी कॉन्फ़िग फ़ाइल

<feature name="App"> 
    <param name="android-package" value="org.apache.cordova.App" /> 
</feature> 
<feature name="NetworkStatus"> 
    <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" /> 
</feature> 
<feature name="File"> 
    <param name="android-package" value="org.apache.cordova.file.FileUtils" /> 
</feature> 
<feature name="FileTransfer"> 
    <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" /> 
</feature> 
<feature name="Media"> 
    <param name="android-package" value="org.apache.cordova.media.AudioHandler" /> 
</feature> 
<feature name="Notification"> 
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" /> 
</feature> 
<feature name="SplashScreen"> 
    <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" /> 
</feature> 
<feature name="Compass"> 
    <param name="android-package" value="org.apache.cordova.deviceorientation.CompassListener" /> 
</feature> 

मेरी मालसूची फ़ाइल

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
+0

आज़मा सकते हैं क्या आप इसे ठीक करने में सक्षम थे? क्या आप पुष्टि कर सकते हैं कि cordova.js फ़ाइल में मौजूद फ़ोल्डर में cordova_plugins.js फ़ाइल और एक प्लगइन्स फ़ोल्डर भी शामिल है (जिसमें प्रत्येक प्लगइन के लिए अधिक उप फ़ोल्डर्स होंगे)। इसके अलावा, cordova_plugins खोलें।जेएस फ़ाइल और जांचें कि क्या यह सभी प्लगइन का उल्लेख करता है जो config.xml फ़ाइल –

+0

में भी उल्लिखित हैं, मैं इसे ठीक करने में सक्षम नहीं हूं। मुझे यकीन नहीं है कि मेरा ऐप प्री 3.0 में किसी भी त्रुटि के बिना क्यों काम करता है लेकिन इन सभी त्रुटियों में 3.0 है। Cordova_plugins.js फ़ाइल cordova.js फ़ाइल के बगल में है और प्लगइन फ़ोल्डर में मेरे द्वारा जोड़े गए प्लगइन के लिए सभी उप फ़ोल्डर्स हैं। मैं इन त्रुटियों को कैसे सुधार सकता हूं इस पर कोई सुझाव? – user1017063

+0

हाय, चरण 1 सुनिश्चित करें कि आपका cordova.js चल रहा है और यह ठीक है, चरण 2. आपको प्लगइन को मूल टर्मिनल में, एमुलेटर नहीं, ब्राउजर नहीं, कॉर्डोवा 3.3 में चरण 3 को कॉन्फ़िगर करना होगा। मैंने कॉन्फ़िगरेशन में कोई सुविधा नहीं जोड़ा है , कॉर्डोवा खुद के निर्माण में करते हैं। चरण 4. आईओएस में प्लगइन के साथ एक समस्या है, आपको प्लेटफॉर्म को हटा देना होगा और पहले आईओएस प्लेटफ़ॉर्म जोड़ने के बाद प्लगइन इंस्टॉल करना होगा। मैं आशा करता हूं यह आपकी मदद कर सकते हैं। – JSG33kC0d3

उत्तर

0

जब आप अपने आवेदन उन्नयन कर रहे हैं, phonegap.js फ़ाइल सभी कार्यात्मक स्क्रिप्ट suppport चाहिए। आप phonegap.0.9.5.js या उच्च संस्करण जैसे जावास्क्रिप्ट फ़ाइल के उपयुक्त संस्करण का भी उपयोग कर सकते हैं। ऐसा इसलिए हो सकता है क्योंकि phonegap.js में एप्लिकेशन द्वारा आवश्यक आवश्यक फ़ंक्शन नहीं था। यदि आप एपीआई देखते हैं तो उनके पास फोनगैप है .X.Y.Z.js। तो आप उच्चतर

+0

उत्तर के लिए धन्यवाद। सुनिश्चित नहीं है कि आप क्या प्राप्त करने की कोशिश कर रहे हैं ... आपकी टिप्पणी के मेरे प्रश्न से कोई लेना देना नहीं है ... शायद मैं समझ नहीं पा रहा हूं कि आप क्या कहने की कोशिश कर रहे हैं। जब आप फोनगैप को अपडेट करते हैं तो मुख्य .js फ़ाइल भी अपडेट की जाती है। इसलिए ? – user1017063

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