手动将科尔多瓦插件添加到科尔多瓦项目的正确方法是什么

what is the correct way to manually add Cordova plugin to Cordova project

本文关键字:是什么 方法 项目 插件 添加      更新时间:2023-09-26

我正在使用Android Studio开发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.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错误。我做错了什么?

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

将插件直接添加到平台中的推荐方法是使用 plugman 工具。

如果你真的想手动做所有事情,那么你需要看的文件是插件.xml。在此文件中,您将找到要修改的文件,例如config.xml,AndroidManifest.xml或cordova_plugins.js。

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

您应该使用 cordova

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

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

有关更多详细信息,请参阅此处的 cordova 文档(滚动到底部)。

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