当我运行phonegap prepare </feature>时,PhoneGap插件<feature>被破坏了

时间:2015-02-06 01:00:01

标签: cordova phonegap-plugins

所以,我去年使用PhoneGap 3.4为客户构建了一个应用程序,并为iOS和Android编写了几个自定义本机插件。他们工作得很好。

在www / config.xml中我指定了它们(省略了实际的插件名称):

<feature name="MyPluginName">
    <param name="ios-package" value="MyPluginiOSClass" />
    <param name="android-package" value="foo.bar.MyPluginAndroidClass" />
</feature>

插件本身并不重要,但重要的是iOS插件是在平台/ ios下的Xcode项目中实现的,Android插件是在平台/ android下的Eclipse项目中实现的。

现在,我还通过phonegap插件添加foo使用PhoneGap附带的一些插件,因此我指定了一些标准插件:

org.apache.cordova.core.console 0.2.0 "Console"
org.apache.cordova.core.device 0.2.1 "Device"
org.apache.cordova.core.file 0.2.1 "File"
org.apache.cordova.core.file-transfer 0.3.1-dev "File Transfer"
org.apache.cordova.core.network-information 0.2.1 "Network Information"

以前,当我在命令行上运行phonegap准备时,目标平台&#39; config.xml将包括这些&#39;官方&#39;插件,以及我在www / config.xml中指定的插件

然而,一年之后,我对应用程序进行了一些更新...... 当我运行phonegap prepare时,<feature>块被忽略。

显然,我做错了什么和/或新的构建系统比以前更不宽容。由于插件代码属于我的客户端,因此我无法开源并将其放在某个注册表中以供pluginman管理。如何在config.xml中获取我的原生插件?

(当我在命令行工具消除这些<feature>块时,我现在手动将这些{{1}}块重新插入,但我更愿意这样做。

帮助! (感谢)

注意:我没有使用phonegap命令行来构建最终的可执行文件,我分别使用Xcode和Eclipse。我只是使用phonegap命令行复制我的www /文件夹并构建config.xml

1 个答案:

答案 0 :(得分:0)

您必须使用带有命令

的cordova CLI创建plugin.xml并安装插件
cordova plugin add /path/to/your/plugin

有关plugin.xml的更多信息 http://docs.phonegap.com/en/3.5.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide