1

如果我们有一个关于如何为 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.javacompass.jsCompassError.js

另一方面,如果我尝试按照<project-name>教程底部指出的那样压缩整个目录,CocoonJS 启动器就会崩溃。

那么,至少有人可以确认启动器实际上可以编译 Cordova 插件吗?

4

1 回答 1

0

如果您想使用插件,您必须压缩所有 Cordova 项目文件夹。例子:

cd ~/projects/ && zip -r -X hellococoonfull.zip helloCocoonJS && cd -

请参阅Cordova 和 CocoonJS 入门指南的“使用 Cordova 插件”部分。

[更新]

CocoonJS 启动器还没有为插件做好准备。要使用插件,您必须使用 de cloud 编译系统。

于 2014-05-07T07:08:40.713 回答