手工安装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文件即可。