【发布时间】:2014-05-07 01:54:34
【问题描述】:
如果我们有一个关于如何为 CocoonJS 包装 cordova 插件的示例,我会很高兴。
我正在尝试在一个简单的示例中使用面向设备的插件(指南针),但在应用程序初始化后,navigator.compass.getCurrentHeading() 返回带有代码的CompassError:
Class not found
类名无法正确解析,可能是config.xml文件有问题。
结合了很多资源后,我的看起来是这样的:
../www/config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="my.compass.html" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>HelloCordovaCompass</name>
<description>
A sample Apache Cordova application that displays the current compass heading after the deviceready event.
</description>
<author email="a@cordova.apache.org" href="http://cordova.io">
</author>
<content src="index.html" />
<access origin="*" />
<preference name="fullscreen" value="true" />
<preference name="orientation" value="landscape" />
<preference name="webviewbounce" value="true" />
<feature name="App">
<param name="android-package" value="org.apache.cordova.App" />
</feature>
<feature name="Compass">
<param name="android-package" value="org.apache.cordova.deviceorientation.CompassListener" />
</feature>
</widget>
我也尝试将指南针作为插件包含在内:
<plugin name="Compass" value="org.apache.cordova.device-orientation" />
没有区别..
PS:该应用在普通的 Cordova 上运行良好。
[更新]
也许问题就在这里:
对于这个例子,我压缩了<project-name>/platforms/android/assets/www 文件夹。
我不确定这对于 Cordova 插件应用程序是否足够,因为不包括插件的本机代码 (CompassListener.java),唯一似乎工作的部分实际上是它的 JavaScript 接口 (compass.js 、CompassError.js 等)..
另一方面,如果我尝试按照this 教程底部指出的那样压缩整个<project-name> 目录,CocoonJS 启动器就会崩溃。..
那么,至少有人可以确认启动器实际上可以编译 Cordova 插件吗?
【问题讨论】:
标签: android cordova-plugins cocoonjs