2014-05-07 72 views
1

如果我們有一個關於如何爲CocoonJS封裝cordova插件的例子,我會很高興。CocoonJS&Cordova插件:「class not found」錯誤

我想在一個簡單的例子,但之後應用程序已初始化使用的設備爲導向的插件(指南針),該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="[email protected]" 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:該應用程序在普通科爾多瓦工作正常。

[更新]

也許問題就在這裏:

在這個例子中我拉上了<project-name>/platforms/android/assets/www文件夾。

我不知道這是否足以讓科爾多瓦插件應用程序,作爲插件的本地代碼不包括(CompassListener.java)這似乎工作的唯一部分實際上是它的JavaScript界面​​(compass.jsCompassError.js,等)..

在另一方面,如果我嘗試壓縮整個<project-name>目錄在this教程底部指出的那樣,CocoonJS啓動崩潰..

因此,至少可以有人證實,發射器實際上可以編譯Cordova插件嗎?

回答

0

如果你想使用插件,你必須壓縮所有的Cordova項目文件夾。示例:

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

請參閱Getting Started with Cordova and CocoonJS指南的「使用Cordova插件」一節。

[更新]

的CocoonJS啓動是沒有準備好插件呢。對於使用插件,你必須使用德雲編譯系統。

+0

感謝您解決這個問題,@ user2477849!你知道雲計算編譯系統何時會再次向公衆開放嗎? – LePhleg

+1

很快@LePhleg! :-) – abdul