Cordova CLI在Android上覆盖Plugman插件?

时间:2013-10-09 18:09:11

标签: android cordova cordova-cli

我正在编写兼容Plugman的Cordova插件。通过Plugman安装它,我已经确认它安装正确并正常运行:

plugman --platform android --project /platforms/android --plugin my/plugin.path

但如果我使用:

cordova build/cordova run android

即使安装了插件也无法正常工作。这是因为Plugman只将我的插件js文件安装到/ platforms / android / assets / www文件夹而不是base / www文件夹,所以当我构建时,没有插件的/ www文件夹被复制到/ platforms / android / assets /万维网。

plugin.xml中是否有选项或其他内容我应该指定将插件安装到项目根www文件夹中?

2 个答案:

答案 0 :(得分:2)

使用Cordova CLI时,不应使用plugman安装插件。 Cordova CLI确实使用了plugman,但您要使用的是cordova plugins add http://...cordova plugins add /path/to/plugin.xml

您没有指定正在使用的Cordova版本,但这里有一些添加核心功能插件的示例:http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

答案 1 :(得分:0)

它应该将js文件放在platforms / android / assets / www / plugins / com.plugin-name / www和平台/ android / src / com / plugin-name /

中的java文件中

你可以像这样在plugin.xml文件中指定它(这是我升级到https://github.com/aharris88/phonegap-sms-plugin3.0()的插件中的一个例子:

<js-module src="www/sms.js" name="Sms">
    <clobbers target="window.sms" />
</js-module>

<!-- android -->
<platform name="android">
    <config-file target="res/xml/config.xml" parent="/*">
        <feature name="Sms">
            <param name="android-package" value="com.adamwadeharris.sms.Sms"/>
        </feature>
    </config-file>

    <config-file target="AndroidManifest.xml" parent="/manifest">
        <uses-permission android:name="android.permission.SEND_SMS" />
    </config-file>

    <source-file src="src/android/Sms.java" target-dir="src/com/adamwadeharris/sms" />
</platform>