手工安装cordova插件到Android工程中
一、使用环境:
在使用java和H5混合开发的工程(在Android工程中插H5代码-使用cordova做中间件)的时候。
工程不是cordova标准的工程(不是用cordova命令创建的工程)。因此不能使用cordova 安装插件的
命令安装cordova插件,因此需要自己手工安装。
二、分析一个插件包含的内容
一个插件包含以下必不可少的内容:
整个插件安装,要放什么文件到android工程的什么地方,修改什么文件,都在plugin.xml文件里进行了配置。
因此我们只要依次解析plugin.xml文件就会完成整呈现插件安装的全部过程。
下面用我制作的一个插件作为例子来解析:
plugin.xml文件内容如下:
使用cordova插件:肯定在assets目录要放置以下这些文件:
五、人工解析plugin.xml并进行手工安装
<1.1>解析plugin.xml部分:
现在我们添加插件,需要在cordova_plugins.js文件文件中添加你要添加插件的信息:
复制/www/xxx.js文件到plugin目录下面
这是是复制EasyLinkPlugin.js到./plugin目录下
<3.1>解析plugin.xml部分:
插件里面有Android平台和ios平台,现在我们把Android的安装注释,放置到Android工程的对应目录里面
六、插件安装完成
经过以上步骤整个插件就安装完成了,上面对于plugin.xml文件的解析,对于cordova插件开发也是有帮助的,插件开发是这个过程的逆过程。
即把需要复制的文件按照格式记录到plugin.xml文件即可。
一、使用环境:
在使用java和H5混合开发的工程(在Android工程中插H5代码-使用cordova做中间件)的时候。
工程不是cordova标准的工程(不是用cordova命令创建的工程)。因此不能使用cordova 安装插件的
命令安装cordova插件,因此需要自己手工安装。
二、分析一个插件包含的内容
一个插件包含以下必不可少的内容:
www/xxx.js //js接口 src/android/xxx.java //android实现代码 src/ios/xxx.m //ios实现代码 plugin.xml //插件配置文件 package.json //插件版本,依赖,平台等说明 (使用命令安装会要求有这个文件)三、手工安装插件原理
整个插件安装,要放什么文件到android工程的什么地方,修改什么文件,都在plugin.xml文件里进行了配置。
因此我们只要依次解析plugin.xml文件就会完成整呈现插件安装的全部过程。
下面用我制作的一个插件作为例子来解析:
plugin.xml文件内容如下:
<?xml version='1.0' encoding='utf-8'?> <plugin id="com.rayleigh.myeasylink" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android"> <name>EasyLinkPlugin</name> <js-module name="EasyLinkPlugin" src="www/EasyLinkPlugin.js"> <clobbers target="cordova.plugins.EasyLinkPlugin" /> </js-module> <platform name="android"> <config-file parent="/*" target="res/xml/config.xml"> <feature name="EasyLinkPlugin"> <param name="android-package" value="com.rayleigh.myeasylink.EasyLinkPlugin" /> </feature> </config-file> <config-file parent="/manifest" target="AndroidManifest.xml"> <!-- put uses-permission here --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/> </config-file> <source-file src="src/android/EasyLinkPlugin.java" target-dir="src/com/rayleigh/myeasylink/EasyLinkPlugin" /> <source-file src="src/android/easylink.jar" target-dir="libs" /> </platform> </plugin>四、相关文件路径说明
使用cordova插件:肯定在assets目录要放置以下这些文件:
/plugin目录 //存放插件的js文件的文件夹 corodova.js //cordova库文件 cordova_plugins.js //插入的插件记录文件注意:这个plugin目录和corodova.js和cordova_plugins.js是在同一个父目录下:其父目录可能是assets或assets/www,或者assets/js
五、人工解析plugin.xml并进行手工安装
<1.1>解析plugin.xml部分:
<plugin id="com.rayleigh.myeasylink" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android"> <name>EasyLinkPlugin</name><1.2>手工安装部分:
现在我们添加插件,需要在cordova_plugins.js文件文件中添加你要添加插件的信息:
module.exports = [ //这是自己的插件的内容: { "id": "com.rayleigh.myeasylink.EasyLinkPlugin", //由plugin.xml里的id和name组成 "file": "plugins/com.rayleigh.myeasylink/www/EasyLinkPlugin.js", //EasyLinkPlugin.js所在的路径(根据实际配置) "pluginId": "com.rayleigh.myeasylink", //plugin.xml里面的id "clobbers": [ "cordova.plugins.EasyLinkPlugin" //plugin.xml:<clobbers target="cordova.plugins.EasyLinkPlugin" /> ] } ] module.exports.metadata = // TOP OF METADATA { //在这里填入自己插件的额名字和版本号 "com.rayleigh.myeasylink": "0.0.1" }; // BOTTOM OF METADATA<2.1>解析plugin.xml部分:
<js-module name="EasyLinkPlugin" src="www/EasyLinkPlugin.js"> <clobbers target="cordova.plugins.EasyLinkPlugin" /> </js-module><2.2>手工安装部分:
复制/www/xxx.js文件到plugin目录下面
这是是复制EasyLinkPlugin.js到./plugin目录下
<3.1>解析plugin.xml部分:
<platform name="android"> <config-file parent="/*" target="res/xml/config.xml"> //在Android工程的res\xml\config.xml文件里插入以下<feature></feature>的内容 <feature name="EasyLinkPlugin"> <param name="android-package" value="com.rayleigh.myeasylink.EasyLinkPlugin" /> </feature> </config-file> <config-file parent="/manifest" target="AndroidManifest.xml"> //在"AndroidManifest.xml"文件内的/manifest标签内插入以下权限内容(注意标签) <!-- put uses-permission here --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/> </config-file> //把source-file的.java文件复制到target-dir目录下 <source-file src="src/android/EasyLinkPlugin.java" target-dir="src/com/rayleigh/myeasylink/EasyLinkPlugin" /> //把source-file的.jar文件复制到target-dir目录下 <source-file src="src/android/easylink.jar" target-dir="libs" /> </platform><3.2>手工安装部分:
插件里面有Android平台和ios平台,现在我们把Android的安装注释,放置到Android工程的对应目录里面
六、插件安装完成
经过以上步骤整个插件就安装完成了,上面对于plugin.xml文件的解析,对于cordova插件开发也是有帮助的,插件开发是这个过程的逆过程。
即把需要复制的文件按照格式记录到plugin.xml文件即可。