PhoneGap 3插件:exec()调用未知插件“…”

我一直在尝试将插件升级到v3,并且已经设法通过插件加载问题,并且我已经设法将插件暴露给客户端环境(改变exec的工作方式等)。

但是当我看着adb logcat

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

我得到这个错误:

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

我无法弄清楚什么是错误的,我不知道为什么Android版本无法看到插件。

我已经把所有的代码都推到了github仓库,所以如果有人能够复制和帮助,我会非常欢迎! 我也试图写下自己的转换体验,并logging下它们的细节(自述文件中有一些虽然不完整):

这里是回购: https : //github.com/remy/phonegap_test

– 雷米

Solutions Collecting From Web of "PhoneGap 3插件:exec()调用未知插件“…”"

在“res / xml / config.xml”中定义你的插件

在文件中find这些行

 <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> 

用实际名称replace虚拟名称(MyPluginName,plugins.plugin.class等)。 当我得到这个错误时,这适用于我:

exec()调用未知插件:MyPluginName

我突然遇到了与我的手机差距(2.6)相同的问题。 相同的确切代码工作之前,所以它必须是一个build设问题。

你有没有试图打开你的apk,看看是否包含config.xml(这里是定义插件)。

在ProjectFolder / platforms / android / res / xml / config.xml下的android中添加插件定义,更新ProjectFolder / plugins / android.json

“cordova build”命令将读取这个android.json文件,并使用这里提到的所有插件自动更新ProjectFolder / platforms / android / res / xml / config.xml。

您是否获得了成功的设备准备事件? 过去当我的应用程序在代码中因为其他原因而导致我的deviceready事件永远不会触发时,我得到了这个错误。 在我的情况下,沉默的错误是由于我的app.initialize()代码块中的一些javascript语法错误。

在Android Studio 1.0.1(在Mac OS 10.9.5上运行)+ Cordova 4.2.0上,我修复了一个类似的问题(“exec()call to unknown plugin”),如下所示:

它发生的标签的内容:

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

YourCordovaProjectName / config.xmlYourCordovaProjectName / platforms / android / res / xml / config.xml下不重复

我不得不改变YourCordovaProjectName / platforms / android / res / xml /下的config.xml文件,并添加标签:

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

然后它的工作。

我还会补充一点,我遇到了与IOS相同的问题,我不得不手动input:

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

YourCordovaProjectName / platforms / ios / YourCordovaProjectName文件夹下的文件config.xml中

希望将来能够修复, YourCordovaProjectName / config.xml的内容将正确地反映在每个特定平台下的config.xml文件(它在几个月前用于Android的正确工作)。