1:安装plugman,在终端输入
npm install -g plugman
2:新建一个插件myEcho
plugman create --name 《Name》 --plugin_id 《pluginID》 --plugin_version 《version》
《Name》替换为 myEcho;
《pluginID》 替换为 com.lulee007.myEcho
《version》 替换为 0.0.1
在终端输入:plugman create --name myEcho --plugin_id com.lulee007.Echo --plugin_version 0.0.1
3:进入myEcho项目中添加一个android平台
plugman platform add --platform_name <platform>
把<platform>替换为 android
plugman platform add --platform_name android
这时候查看我们的myEcho目录下的 src会新增一个目录android里面会有一个java文件:myEcho.java
4:plugin.xml配置文化修改
id: 插件的标识
name:插件的名称
description:描述信息
js-module:js文件指向 www/myEcho.js
platform:支持的平台
source-file:src当前文件路径地址,target-dir当Build应用的时候会安装到指定的目录下
示例:
<source-file src="src/android/myEcho.java" target-dir="src/com/lulee007/myEcho/myEcho" />
<source-file src="src/android/libuhf-tools.so" target-dir="libs/armeabi/" />
<source-file src="src/android/okhttp-2.5.0.jar" target-dir="libs/" />
再看下myEcho.js文件:
var exec = require('cordova/exec')引入cordova下的exec库
exec(success, error, "myEcho", "coolMethod", [arg0]);
success:调用成功时的回调函数
error:调用出错时的回调函数
"myEcho":插件名称
"coolMethod":执行插件里的方法
[arg0]:可选参数,执行方法的参数数组
最终修改如图:
接着修改myEcho.java文件:
在execute方法里有个判断,
action.equals("coolMethod")跟myEcho.js文件的exec里面的coolMethod对应,表示是否执行我们所对应的方法如果不是则直接返回false结束
String message = args.getString(0)接收传过来的参数,可多个
callbackContext.success()回调
5:安装插件
进入项目目录输入:
cordova plugin add 插件目录
进入项目的plugins文件夹内查看是否安装成功
调用:
window.plugins.myEcho("echo my text",
function(data){
alert(data);
},
function(error){
alert(error);
});
如果要对插件进行更新需要进行移动:
cordova plugin remove com.lulee007.myEcho
cordova plugin add 插件目录