手动将科尔多瓦插件添加到科尔多瓦项目的正确方法是什么
what is the correct way to manually add Cordova plugin to Cordova project
我正在使用Android Studio开发Cordova项目。我想将科尔多瓦设备插件添加到我的项目中。据我了解,Cordova插件由device.js
和Device.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)。
cli(命令行界面)方法来添加插件,假设您使用的是 cordova/phonegap 版本> 3。据我所知,从 3.2 或 3.4 版本开始,还需要添加/删除核心插件(由 cordova 团队维护)。
无论如何,您应该从命令提示符(顶级 www 文件夹所在的位置)调用:cordova plugin add org.apache.cordova.device
。
有关更多详细信息,请参阅此处的 cordova 文档(滚动到底部)。
请注意,我从未使用过Android Studio,只使用过Eclipse,但这些应该与IDE无关。
- 打破承诺链的好方法是什么
- 在JavaScript中拆分日期字符串的更好方法是什么
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- 基于窗口宽度jquery的函数的替代方法是什么
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- knex:根据结果创建数组的合适方法是什么
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- node.js是否具有'match()'方法如果是,语法是什么
- 使用Modernizr检测移动设备最可靠的方法是什么
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- 让会话值可用于JavaScript的好方法是什么
- 从AngularJs获取谷歌地图对象的正确方法是什么
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么
- 列出没有 mysql 的元素的最佳方法是什么
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本