在尝试调试Phonegap错误消息(“调用没有当前上下文的OpenGL ES api”时似乎没有引起任何问题)时,我遇到了一个随PhoneGap 1.6附带的更新版本的cordova.xml文件其中包含以下内容:
<preference name="classicRender" value="true" />
将此行添加到我的cordova.xml副本中没有做任何事情.但后来我也注意到该文件中有关访问来源的注释和其他行,我注意到我的应用程序的访问源设置为127.0.0.1,但我的所有代码都在远程服务器上,这似乎并不重要.
我搜索了文档但没有找到任何文档.
所以我要问:cordova.xml文件是什么,可以放入哪些指令,以及它们应该做什么?
解决方法
cordova.xml文件是一个配置文件,用于指定列入白名单的URL,日志级别和呈现的设置.该文件以前称为phonegap.xml,并在Adobe / Nitobi
donated the PhoneGap codebase重命名为Apache Software Foundation(ASF)进行孵化.
首先是:
<access origin>
它指定了可以加载的已批准URL列表.这些URL将添加到DroidGap类的白名单缓存中.只能在Cordova Webview或新浏览器实例中加载白名单中的URL.
第二是:
<log level>
它指定在Android上进行调试的日志级别.它可以设置为ERROR,WARN,INFO,DEBUG或VERBOSE(默认= ERROR).
第三是:
<preference name="classicRender" />
这设定了领域
private boolean classicRender;
在DroidGap班.我能找到的实际操作的唯一参考是在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...
有关完整的loadConfiguration()方法,请参见DroidGap类中的第1252行.解析了所有三个属性,但是根据上面的链接,看起来classicRender设置不起作用,可以忽略.