2013-07-31 4 views
19

Я пытался обновить плагин до v3, и мне удалось пройти мимо проблем с загрузкой плагина, и мне удалось выставить плагин в клиентскую среду (внести изменения в способ работы exec и т. д.).PhoneGap 3 плагин: exec() вызов неизвестного плагина «...»

Но когда я смотрю ADB LogCat с

adb logcat | grep -v nativeGetEnabledTags | grep -i web

Я получаю эту ошибку:

D/PluginManager(11189): exec() call to unknown plugin: WebSocket

Я не могу работать, что пошло не так, и я не конечно, почему сборка Android не может видеть плагин.

Я ввел ВСЕ код в репозиторий github, поэтому, если кто-то сможет воспроизвести и помочь, я буду очень рад! Я также пытаюсь написать мой опыт преобразования и протоколирование подводных камней, как я ударил их (есть некоторые в риом, хотя это неполное):

Вот репо: https://github.com/remy/phonegap_test

- Remy

ответ

26

определить свой плагин в "Рез/XML/config.xml"

найти эти строки в файле

<feature name="App"> 
     <param name="android-package" value="org.apache.cordova.App" /> 
</feature> 

и добавить их сразу после:

<feature name="MyPluginName"> 
     <param name="android-package" value="com.phonegap.plugins.plugin.class" /> 
</feature> 

заменить пустышку имена (MyPluginName, plugins.plugin.class и т. д.) с фактическими именами. Это работает для меня, когда я получаю эту ошибку:

exec() call to unknown plugin : MyPluginName

+2

Шахта работала, если имя 'attribute в' feature' совпадает с атрибутом 'value' в' param'. Итак, '' – AimanB

+0

Спасибо, исправил мою проблему как шарм! –

+0

Thaks, работал для меня! Но каждый раз, когда я запускаю 'cordova prepare android', он удаляет запись для MyPlugin из res/xml/config.xml, и мне нужно вручную обновить ее перед запуском проекта. Знаете ли вы, как это решить? – alberjoe

0

Вы получаете успешное событие deviceready? Я получил эту ошибку в прошлом, когда мое приложение молча проваливалось по другим причинам в моем коде, заставляя мое событие deviceready никогда не срабатывать. В моем случае тихая ошибка была вызвана некоторыми синтаксическими ошибками javascript в моих блоках кода app.initialize().

2

Я внезапно получаю ту же проблему с моей телефонной зазором (2.6). Тот же самый точный код работал раньше, поэтому он должен быть проблемой сборки.

Вы пытались открыть свой apk и посмотреть, включен ли config.xml (там, где установлены плагины).

+1

Спасибо, хотя моя проблема не связана с этой ошибкой. Этот ответ мне помог. – Srinivas

0

На Android Studio 1.0.1 (работает на Mac OS 10.9.5) + Кордова 4.2.0, я установил подобную проблему ("Exec() вызов неизвестному плагин "), как следующие:

это случилось, что содержание тега:

<feature name="MyPluginName"> 
<param name="android-package" value="com.phonegap.plugins.plugin.class" /> 
</feature> 

под YourCordovaProjectName/config.xml не дублируется под YourCordovaProjectName/платформ/Android/Рез/XML /config.xml

Мне пришлось изменить файл config.XML под YourCordovaProjectName/Платформы/Android/Рез/XML/ и добавить тег:

<feature name="MyPluginName"> 
    <param name="android-package" value="com.phonegap.plugins.plugin.class" /> 
    </feature> 

Затем он работал.

Я также добавлю, что я испытал те же проблемы с IOS, мне пришлось ввести вручную:

<feature name="MyPluginName"> 
<param name="ios-package" value="com.phonegap.plugins.plugin.class" /> 
</feature> 

В файле config.xml в папке YourCordovaProjectName/платформы/ИОС/YourCordovaProjectName

Надеется, что будет исправлены в будущем, и содержании YourCordovaProjectName/config.xml будет корректно отражен в файлах Config.xml, которые находятся под каждую конкретной платформой (раньше работал правильно для Android несколько мо nths назад).

1

Для добавления определения плагина в андроида под ProjectFolder/платформы/Android/Рез/XML/config.xml, обновить ProjectFolder/плагины/android.json

«Cordova построить» команда будет читать этот файл android.json и обновлять ProjectFolder/platform/android/res/xml/config.xml автоматически со всеми упомянутыми здесь плагинами.

Смежные вопросы