Плагины CocoonJS & Cordova: ошибка "класс не найден"

Я был бы рад, если бы у нас был пример того, как плагины Cordova должны быть упакованы для CocoonJS.

Я пытаюсь использовать плагин ориентации устройства (компас) в простом примере, но после инициализации приложения 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: приложение отлично работает на равнине Кордова.

[ОБНОВИТЬ]

Может быть, проблема здесь:

Для этого примера я застегнул <project-name>/platforms/android/assets/www папка.

Я не уверен, что этого достаточно для приложения плагина Cordova, так как нативный код плагина не включен (CompassListener.java) и единственная часть, которая работает, на самом деле - это интерфейс JavaScript (compass.js, CompassError.js, так далее)..

С другой стороны, если я попытаюсь сжать весь <project-name> В каталоге, указанном внизу этого урока, происходит сбой запуска CocoonJS..

Итак, может ли кто-нибудь подтвердить, что программа запуска действительно может скомпилировать плагины Cordova?

1 ответ

Решение

Если вы хотите использовать плагины, вы должны сжать все папки проекта Cordova. Пример:

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

См. Раздел "Использование плагинов Cordova" Руководства по началу работы с Cordova и CocoonJS.

[Обновить]

CocoonJS Launcher еще не готов к плагинам. Для использования плагинов вы должны использовать систему облачной компиляции.

Другие вопросы по тегам