将Cordova插件手动添加到Cordova项目的正确方法是什么?

时间:2014-11-24 07:06:41

标签: javascript android cordova

我正在使用Android Studio开发Cordova项目。我想将Cordova设备插件添加到我的项目中。据我所知,Cordova插件由device.jsDevice.java组成,我在插件文件夹中找到了该插件。我将Device.java复制到CordovaLib/src/org/apache/cordova/device/文件夹,将device.js复制到assets/www/plugins/org.apache.cordova.device/www文件夹中。我还包含在index.html cordova_plugins.js文件中,该文件由Cordova自动创建。它具有以下内容:

cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
    {
        "file": "plugins/org.apache.cordova.device/www/device.js",
        "id": "org.apache.cordova.device.device",
        "clobbers": [
            "device"
        ]
    }
];
module.exports.metadata = 
// TOP OF METADATA
{
    "org.apache.cordova.device": "0.2.12"
}
// BOTTOM OF METADATA
});

现在,当我成功构建应用程序并运行它时,出现Error initializing Cordova: Class not found错误。我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果您直接在platform / android文件夹中进行更改,请不要使用CLI添加插件,否则可能会丢失代码(当您使用cli添加插件时,它只会在平台中真正添加你运行cordova prepare android,它将用根www文件夹中的代码覆盖platforms / android / assets / www中的代码,这可能不是你想要的。)

将插件直接添加到平台的推荐方法是to use the plugman tool

如果您真的想手动完成所有操作,那么您需要注意的文件是plugin.xml。在此文件中,您将找到要修改的文件,如config.xml,AndroidManifest.xml或cordova_plugins.js。

您不应该从index.xml加载cordova_plugins.js,它会使用require从cordova.js(以及插件中的javascrips)自动加载。

答案 1 :(得分:0)

您应该使用cordova cli(命令行界面)方法来添加插件,假设您使用的是cordova / phonegap版本> 3.据我所知,自版本3.2或3.4以来,还需要添加/删除核心插件(由cordova团队维护)。

无论如何,你应该从命令提示符(你的顶级www文件夹所在的地方)调用:cordova plugin add org.apache.cordova.device

有关详细信息,请参阅cordova文档here(滚动到底部)。

请注意,我从未使用Android Studio,只使用过Eclipse,但这些应该与IDE无关。