如果我们有一个关于如何为 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
(compass.js
CompassError.js
另一方面,如果我尝试按照本<project-name>
教程底部指出的那样压缩整个目录,CocoonJS 启动器就会崩溃。
那么,至少有人可以确认启动器实际上可以编译 Cordova 插件吗?