Cordova plugin 开发 (base Android)

plugin 项目创建

使用 Cordova 官网 提供的 Plugman 工具 创建 Plugin 项目, 创建步骤如下:
前提是 你已经使用 cordova 命令行创建了 Cordova 项目, 并且添加了 Android 平台支持

1
2
3
4
cordova create
# eg:cordova create hello com.example.hello HelloWorld
cordova platform add xxx
# eg: cordova platform add android

1.创建 Plugin 项目
进入 Cordova 项目 的根路径,再进入 plugins 目录, 创建 plugin 项目

1
2
plugman create --name <pluginName> --plugin_id <pluginID> --plugin_version <version> [--path <directory>] [--variable NAME=VALUE]
# eg: plugman create --name PluginDemo --plugin_id com.example.cordova.plugindemo --plugin_version 1.0.0

注意 :pluginName 会自动生成 pluginName.java 所有不要有特殊字符 pluginID 会转化成 pakeagename

  1. 添加 Platform 支持

    1
    2
    plugman platform add --platform_name <platform>
    # eg: plugman platform add --platform_name android
  2. 添加 json 文件
    进入到创建的 Plugin 项目 的根路径.

    1
    2
    plugman createpackagejson <directory>
    # eg: plugman createpackagejson .
  3. 把 Plugin 项目安装到不同的平台项目
    现在回到 Cordova 项目 的根路径

    1
    2
    plugman install --platform <platform> --project <directory> --plugin <plugin> [--variable NAME=VALUE]
    # eg: plugman install --platform android --project platforms\android --plugin D:\xx\Cordova 项目\plugins\Plugin 项目

注意 Plugin 的路径一定是绝对路径

  1. 把 Plugin 从不同的平台项目移除
    1
    2
    plugman uninstall --platform <platform> --project <directory> --plugin <plugin-id>
    # eg: plugman uninstall --platform android --project platforms\android --plugin com.example.cordova.plugindemo

注意如果遇到卸载报错,再执行一次卸载命令即可

具体的 Plugman 命令可以使用 plugin -h 进行查看

遇到的问题汇总

  1. jar 添加
    Plugin 项目 下面有一个 plugin.xml 配置文件中指定即可

项目目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
--plugins
----Plugin项目
------src
-------android
---------libs
-----------xx.jar
---------xx.java
------www
--------xx.js
------package.json
------plugin.xml
1
<source-file src="src/android/libs/xx.jar" target-dir="app/src/main/libs" />
  1. 在 Plugin 的 java 代码中获取 Context
    1
    Context context = this.cordova.getActivity().getApplicationContext();