Android Cordova 3.0.0存储API错误
我正在使用cordova 3.0.0开发跨平台应用程序。该项目是使用cordova cli创建的,是为android平台构建的。目前它成功地使用了文件和文件传输插件。尝试使用存储API时会出现问题。根据PhoneGap文档,从3.0版开始,它就内置在cordova中。问题是,当我尝试与存储API交互时Android Cordova 3.0.0存储API错误,android,phonegap-plugins,web-sql,cordova-3,Android,Phonegap Plugins,Web Sql,Cordova 3,我正在使用cordova 3.0.0开发跨平台应用程序。该项目是使用cordova cli创建的,是为android平台构建的。目前它成功地使用了文件和文件传输插件。尝试使用存储API时会出现问题。根据PhoneGap文档,从3.0版开始,它就内置在cordova中。问题是,当我尝试与存储API交互时 var db = window.openDatabase(name, "1.0", name, size); Cordova的PluginManager日志错误: exec() call to
var db = window.openDatabase(name, "1.0", name, size);
Cordova的PluginManager日志错误:
exec() call to unknown plugin: Storage
因此,问题是:为什么cordova试图通过PluginManager调用存储?
同时发布我的config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.helloCordova" version="2.0.0" xmlns="http://www.w3.org/ns/widgets">
<name>Hello Cordova</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<feature name="App">
<param name="android-package" value="org.apache.cordova.App" />
</feature>
<feature name="File">
<param name="android-package" value="org.apache.cordova.core.FileUtils" />
</feature>
<feature name="FileTransfer">
<param name="android-package" value="org.apache.cordova.core.FileTransfer" />
</feature>
<access origin="*" />
<preference name="useBrowserHistory" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
</widget>
你好,科尔多瓦
响应deviceready事件的Apache Cordova应用程序示例。
阿帕奇科尔多瓦团队
和AndroidManifest.xml
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" android:windowSoftInputMode="adjustPan" package="com.isd.immersivereader" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:name="ImmersiveReader" android:theme="@android:style/Theme.Black.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
我使用的cordova.js版本是3.0.0-0-ge670de9(据我所知,它是一个head修订版),它确实有存储防御
如果需要更多信息,请告诉我)
提前感谢。使用Cordova>=3.0.0,您需要将存储功能添加到config.xml(app/res/xml/config.xml)中。例如
使用Cordova>=3.0.0,您需要将存储功能添加到config.xml(app/res/xml/config.xml)中。例如
注意,只有在不使用命令行界面的情况下,才需要执行此步骤。我知道这个问题有点奇怪。但是你能告诉我在我的项目中添加插件的步骤吗。表示从3.0版开始,Cordova内置了对存储API的访问,不需要使用CLI添加命令行界面中所述的插件。但是,您建议在config.xml
中添加功能
节点。请告诉我这些步骤。注意,只有在不使用命令行界面的情况下,才需要执行此步骤。我知道这个问题有点奇怪。但是你能告诉我在我的项目中添加插件的步骤吗。表示从3.0版开始,Cordova内置了对存储API的访问,不需要使用CLI添加命令行界面中所述的插件。但是,您建议在config.xml
中添加功能
节点。请告诉我步骤。
<feature name="Storage">
<param name="android-package" value="org.apache.cordova.Storage" />
</feature>