2012-05-04 11 views
6

फ़ोनगैप त्रुटि संदेश डीबग करने का प्रयास करते समय ("किसी भी मौजूदा संदर्भ के साथ ओपनजीएल ईएस एपीआई को कॉल करें" जो किसी भी समस्या का कारण नहीं दिखता है), मैं cordova.xml फ़ाइल के एक नए संस्करण में आया जो फोनगैप के साथ जहाजोंफोनगैप में cordova.xml क्या है?

<preference name="classicRender" value="true" /> 

cordova.xml की मेरी प्रतिलिपि लिए कुछ भी नहीं किया इस लाइन को जोड़ने: 1.6 और उस में निम्न पंक्ति है। लेकिन फिर मैंने एक्सेस उत्पत्ति के संबंध में उस फ़ाइल में टिप्पणियों और अन्य पंक्तियों को भी देखा, और मैंने देखा कि मेरे ऐप में पहुंच मूल 127.0.0.1 पर सेट है, लेकिन मेरा पूरा कोड रिमोट सर्वर पर है, और यह कोई फर्क नहीं पड़ता ।

मैंने प्रलेखन की खोज की लेकिन मुझे कोई नहीं मिला।

तो मुझे यह पूछना है: cordova.xml फ़ाइल क्या है, इसमें कौन से निर्देश दिए जा सकते हैं, और उन्हें क्या करना चाहिए?

उत्तर

15

cordova.xml फ़ाइल एक कॉन्फ़िगरेशन फ़ाइल है जो श्वेतसूची वाले यूआरएल, लॉग स्तर और प्रतिपादन के लिए सेटिंग्स निर्दिष्ट करती है। फ़ाइल को पहले फोनगैप.एक्सएमएल कहा जाता था और इसका नाम बदल दिया गया था जब ऊष्मायन के लिए अपाचे सॉफ्टवेयर फाउंडेशन (एएसएफ) में एडोब/नाइटबी donated the PhoneGap codebase का नाम बदल दिया गया था।

फ़ाइल में तीन सेटिंग्स शामिल हैं।

सबसे पहले है:

<access origin> 

जो URL हैं, जो लोड किया जा सकता की एक अनुमोदित सूची निर्दिष्ट करता है। DroidGap कक्षा में इन यूआरएल श्वेतसूची कैश में जोड़े गए हैं। श्वेतसूची पर केवल यूआरएल को कॉर्डोवा वेबव्यू या एक नया ब्राउज़र उदाहरण में लोड किया जा सकता है।

दूसरा है:

<log level> 

जो एंड्रॉयड पर डिबगिंग लिए लॉग स्तर निर्दिष्ट करता है। इसे ERROR, WARN, INFO, DEBUG या VERBOSE (डिफ़ॉल्ट = ERROR) पर सेट किया जा सकता है।

तीसरा है:

<preference name="classicRender" /> 

जो DroidGap कक्षा में क्षेत्र

private boolean classicRender; 

सेट। क्या यह वास्तव में है कि मैं पा सकते हैं करता है करने के लिए केवल संदर्भ Cordova को this commit में है:

if(android.os.Build.VERSION.SDK_INT < 14 && this.classicRender) 
    { 
     //This hack fixes legacy PhoneGap apps 
     //We should be using real pixels, not pretend pixels 
    ... 

शायद यह पता चला है कि यह जाहिरा तौर पर removed किया जा रहा है और अधिक उपयोगी है, क्योंकि यह ठीक से काम नहीं करता। पूर्ण loadConfiguration() विधि के लिए DroidGap कक्षा में

private void loadConfiguration() { 
    int id = getResources().getIdentifier("cordova", "xml", getPackageName()); 
    ... 
    XmlResourceParser xml = getResources().getXml(id); 
    etc... 

लाइन 1252 देखें:

cordova.xml DroidGap कक्षा में पार्स किया गया है, विधि loadConfiguration() में। सभी तीन विशेषताओं को पार्स किया गया है लेकिन उपरोक्त लिंक के अनुसार ऐसा लगता है कि क्लासिक रेंडर सेटिंग काम नहीं करती है और इसे अनदेखा किया जा सकता है।