1.安装环境 cordova
npm install -g cordova
2.创建 cordova 项目
cordova create hello com.example.hello HelloWorld
3.为项目添加平台
cordova platform add android --save
4.安装创建插件手脚架
npm install -g plugman
测试
plugman -v
5.创建插件
plugman create --name VhallLivePlugin --plugin_id com.live.VhallLivePlugin --plugin_version 1.0.0
6.为插件添加平台
/**
* 注意:一定要等到插件文件夹/src/android/xxxxx.java生成才能进行下一步
**/
plugman platform add --platform_name android
7.在插件目录下创建package.json文件
{
"name": "cordova.live.vhallliveplugin", // 必须小写
"version": "1.0.0", // 版本
"description": "a cordova plugin", //介绍
"cordova": {
"id": "cordova.live.vhallliveplugin",
"platforms": [
"android"
]
},
"keywords": [
"ecosystem:cordova",
"cordova-android",
"cordova-ios",
"vhallliveplugin",
"cordova.live.vhallliveplugin"
],
"repository": {
"type": "git",
"url": "git+https://github.com/hhjjj1010/cordova-plugin-alipay-v2.git"
},
"bugs": {
"url": "https://github.com/hhjjj1010/cordova-plugin-alipay-v2/issues"
},
"homepage": "https://github.com/hhjjj1010/cordova-plugin-alipay-v2#readme",
"author": "hhjjj1010",
"license": "ISC"
}
8.插件plugin.xml配置说明
<?xml version='1.0' encoding='utf-8'?>
<plugin id="com.live.VhallLivePlugin" version="1.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
<name>VhallLivePlugin</name>
/**
* name为前端调用插件名称,src为映射地址
**/
<js-module name="VhallLivePlugin" src="www/VhallLivePlugin.js">
<clobbers target="cordova.plugins.VhallLivePlugin"/>
</js-module>
<platform name="android">
<config-file parent="/*" target="res/xml/config.xml">
<feature name="VhallLivePlugin">
<param name="android-package" value="com.live.VhallLivePlugin.VhallLivePlugin"/>
</feature>
</config-file>
<config-file parent="/*" target="AndroidManifest.xml"></config-file>
/**
* target-dir 去掉多余的层级,只需留3层
**/
<source-file src="src/android/VhallLivePlugin.java" target-dir="src/com/live"/>
</platform>
</plugin>
9.为cordova项目安装插件
cordova plugin add F:xxxxxVhallLivePlugin(插件地址) --nofetch
10.测试cordova下的wwwindex.html
<!DOCTYPE html>
<html>
<head>
<!--<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">-->
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<!--<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">-->
<link rel="stylesheet" type="text/css" href="css/index.css">
<title>Hello World</title>
</head>
<body>
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
<button onclick="test()">click</button>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script >
function test(){
cordova.plugins.VhallLivePlugin.coolMethod('click',function(msg){
alert('成功'+msg);
},function(e){
alert(e);
})
}
</script>
</body>
</html>