在尝试调试 Phonegap 错误消息时(“在没有当前上下文的情况下调用 OpenGL ES api”似乎不会导致任何问题),我遇到了一个更新版本的 cordova.xml 文件,它附带PhoneGap 1.6 并包含以下行:
<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 软件基金会 (ASF) 进行孵化。
该文件包括三个设置。
首先是:
<access origin>
它指定了一个允许加载的 URL 列表。这些 url 被添加到 DroidGap 中的白名单缓存中类(class)。只有白名单上的 URL 才能加载到 Cordova webview 或新的浏览器实例中。
第二个是:
<log level>
指定在 Android 上进行调试的日志级别。它可以设置为 ERROR、WARN、INFO、DEBUG 或 VERBOSE(默认值=ERROR)。
第三个是:
<preference name="classicRender" />
设置字段
private boolean classicRender;
在DroidGap类(class)。我能找到的关于它实际作用的唯一引用是在 this commit 中。到 Cordova :
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...
参见 DroidGap 中的第 1252 行完整 loadConfiguration() 方法的类。所有三个属性都已解析,但根据上面的链接,classicRender 设置似乎不起作用,可以忽略。
关于android - Phonegap 中的 cordova.xml 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455970/