所以,我去年使用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
答案 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