2012-05-04 49 views
6

雖然嘗試調試PhoneGap的錯誤消息(「呼籲的OpenGL ES API沒有當前上下文」,這似乎並沒有被引起任何問題),我穿過cordova.xml文件的更新版本,其附帶的PhoneGap來了1.6,並在它的下面一行:Phonegap中的cordova.xml是什麼?

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

加入這行來我cordova.xml的副本沒做什麼。但後來我也注意到該文件中有關訪問起源的註釋和其他行,並且我注意到我的應用程序的訪問源設置爲127.0.0.1,但我的所有代碼都位於遠程服務器上,這似乎並不重要。

我搜索了文檔,但沒有找到任何。

所以我要問:什麼是對cordova.xml文件,什麼指令可以放在這一點,在他們應該做的事情?

回答

15

的cordova.xml文件是一個配置文件,指定白名單網址設置,日誌級別和渲染。該文件以前稱爲phonegap.xml,並在Adobe/Nitobi donated the PhoneGap codebase向Apache軟件基金會(ASF)孵化時重命名。

該文件包含三個設置。

首先是:

<access origin> 

指定經批准可以加載URL列表。這些URL將被添加到DroidGap類的白名單緩存中。只有白名單上的URL可以加載到Cordova webview或新的瀏覽器實例中。

二是:

<log level> 

指定在Android上的調試日誌級別。它可以設置爲ERROR,WARN,INFO,DEBUG或VERBOSE(默認= ERROR)。

三是:

<preference name="classicRender" /> 

它設置在DroidGap類領域

private boolean classicRender; 

。什麼它實際上做的是我能找到的唯一的參考是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因爲它不能正常工作。

的cordova.xml被解析在DroidGap類,在loadConfiguration()方法:

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

參見線1252在DroidGap類全loadConfiguration()方法。所有三個屬性都被解析,但按照上面的鏈接看來,classicRender設置不起作用,可以忽略。

相關問題