Плагины 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 еще не готов к плагинам. Для использования плагинов вы должны использовать систему облачной компиляции.