我正在使用Android Studio开发Cordova项目。我想将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自动创建。它具有以下内容:
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
错误。我做错了什么?
答案 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无关。