# CordovaBridge
**Repository Path**: dwdyoung/cordova-bridge
## Basic Information
- **Project Name**: CordovaBridge
- **Description**: 构建简单的cordova与原生交互方式
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-04-07
- **Last Updated**: 2023-04-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 插件项目说明
- [插件项目说明](#插件项目说明)
- [前言](#前言)
- [使用plugman创建插件](#使用plugman创建插件)
- [安装plugman](#安装plugman)
- [创建插件](#创建插件)
- [创建package.json](#创建packagejson)
- [使用AndroidStudio开发插件内容](#使用androidstudio开发插件内容)
- [参考 `Demo` 项目,将关键代码移植到插件项目上](#参考-demo-项目将关键代码移植到插件项目上)
- [发布插件 \& 使用插件](#发布插件--使用插件)
- [计划补充](#计划补充)
## 前言
cordova 是一款优秀的开源跨平台项目,与原生交互时,需要开发相应的插件做支持,但是由于官网并没有提供特定的开发平台,加上跨语言的工作导致插件开发非常困难,本项目引用了Cordova的插件库的代码,使得可以在android studio上直接开发插件,然后通过简单操作即可制作成cordova插件。
[plugin.xml官网原文链接](https://cordova.apache.org/docs/en/11.x/plugin_ref/spec.html)
[plugman 官网原文链接](https://cordova.apache.org/docs/en/11.x/plugin_ref/plugman.html)
## 使用plugman创建插件
### 安装plugman
``` sh
npm install -g plugman
```
### 创建插件
根据情况自行修改 plugin_name 、plugin_id、plugin_version
``` sh
plugman create --plugin_name Demo --plugin_id plugin_demo --plugin_version 1.0.0
```
### 创建package.json
``` sh
plugman createpackagejson .
# 然后各种回车
```
## 使用AndroidStudio开发插件内容
- 使用 `android studio` 创建空白的安卓项目
- 添加依赖
``` gradle
api com.gonsin:cordova-plugin-devtool:1.0.0
```
- 实现自己的cordova插件
``` java
public class DemoPlugin extends CordovaPlugin {
// 实现内置方法..。(省略)
}
```
## 参考 `Demo` 项目,将关键代码移植到插件项目上
- 将关键代码复制到 `插件项目` 中
- 参考 [`demo`](/demo/plugin_demo) 项目 配置 `plugin.xml` ,[点击跳转](/demo/plugin_demo)
- 测试插件(用--link添加本地项目)
``` sh
# windows 系统下,需要使用管理员权限打开命令行!
cordova plugin add path/of/your/plugin/project --link
```
## 发布插件 & 使用插件
- 登录npm用户,`npm adduser`
- 发布到npm `npm publish`
- 使用插件 `cordova plugin add ${plugin_id}`
## 计划补充
- [ ] 添加IOS插件指引
- [ ] 添加electron插件指引