【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )
文章目录
- 前言
- 一、开发 Dart 包内容
- 二、配置 pubspec.yaml
- 三、编写 Dart 包使用说明
- 四、编写 Dart 包授权许可
- 五、设置版本变更记录
- 六、验证 Dart 包正确性
- 七、将 Dart 包推送到中央仓库中
- 八、博客资源
前言
上一篇博客 【Flutter】开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 ) 三、创建 Dart 包
1、Android Studio 中可视化创建 中 , 创建了 Dart 包 ;
本篇博客中 , 开发该 Dart 包 , 并将其发布到 Flutter 公共仓库中 ;
一、开发 Dart 包内容
创建完毕之后 , 自动生成了一个 flutter_package.dart 源码文件 , 内容是
library flutter_package;/// A Calculator.
class Calculator {/// Returns [value] plus 1.int addOne(int value) => value + 1;
}
实现了一个简单计算功能 , 导入该包后 , 调用 addOne 方法 , 就会将传入的参数 +1 返回 ;
这里保持不变 ;
二、配置 pubspec.yaml
在 pubspec.yaml 中配置该项目 :
# Dart 包名称
name: flutter_package
# 描述
description: A new Flutter project.
# 版本号
version: 0.0.1
# 主页 , 一般是 GitHub 的地址
homepage:# 所需的环境
environment:sdk: ">=2.12.0 <3.0.0"flutter: ">=1.17.0"# 依赖关系
dependencies:flutter:sdk: flutter
三、编写 Dart 包使用说明
一般在 Flutter 包中央仓库中 , 搜索到某个 Flutter 包或插件 , 显示的内容就是 Flutter 包 / 插件的工程根目录的 README.md 文档 ;
一般将插件的使用说明 , 写在该文档中 ;
四、编写 Dart 包授权许可
修改根目录下的 LICENSE 许可 ;
随便找个 Flutter 插件 , 复制一份即可 ;
该协议不是必须的 ;
五、设置版本变更记录
在 CHANGELOG.md 中 , 设置每个版本的变更记录 , 具体就是某个版本更新后 , 更新了哪些内容 , 修改了哪些内容 ;
六、验证 Dart 包正确性
先运行如下命令 , 检查该 Flutter 包是否正常 ;
flutter packages pub publish --dry-run
运行后正常 :
D:\002_Project\002_Android_Learn\flutter_package>flutter packages pub publish --dry-run
Publishing flutter_package 0.0.1 to https://pub.flutter-io.cn:
|-- .gitignore
|-- .metadata
|-- CHANGELOG.md
|-- LICENSE
|-- README.md
|-- lib
| '-- flutter_package.dart
|-- pubspec.yaml
'-- test'-- flutter_package_test.dartPackage has 0 warnings.
七、将 Dart 包推送到中央仓库中
执行如下命令 , 将 Dart 包推送到中央仓库中 ;
flutter packages pub publish --server=https://pub.dartlang.org
D:\002_Project\002_Android_Learn\flutter_package>flutter packages pub publish
Publishing flutter_package 0.0.1 to https://pub.flutter-io.cn:
|-- .gitignore
|-- .metadata
|-- CHANGELOG.md
|-- LICENSE
|-- README.md
|-- lib
| '-- flutter_package.dart
|-- pubspec.yaml
'-- test'-- flutter_package_test.dartPublishing is forever; packages cannot be unpublished.
Policy details are available at https://pub.dev/policyDo you want to publish flutter_package 0.0.1 (y/N)?
输入 y 然后点击回车 , 这里弹出一个链接 , 需要到该地址登录 Google 账号 ;
Do you want to publish flutter_package 0.0.1 (y/N)? y
Pub needs your authorization to upload packages on your behalf.
In a web browser, go to https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&response_type=code&client_id=818368855108-8grd2eg9tj9f38os6f1urbcvsq399u8n.apps.googleusercontent.com&redirect_uri=http%3A%2
F%2Flocalhost%3A57747&code_challenge=iplyOXdxiNSnXI7z1Xza2wrHOfTUx-LWyiKM3wVlokg&code_challenge_method=S256&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email
Then click "Allow access".Waiting for your authorization...
选择了要登录的账号后 , 需要进行手机验证 ;
输入手机验证码 ;
授权成功 ;
终于上传成功了 :
D:\002_Project\002_Android_Learn\flutter_package>flutter packages pub publish --server=https://pub.dartlang.org
Publishing flutter_package_first_demo 0.0.1 to https://pub.dartlang.org:
|-- .gitignore
|-- .metadata
|-- CHANGELOG.md
|-- LICENSE
|-- README.md
|-- lib
| '-- flutter_package_first_demo.dart
|-- pubspec.yaml
'-- test'-- flutter_package_test.dartPublishing is forever; packages cannot be unpublished.
Policy details are available at https://pub.dev/policyDo you want to publish flutter_package_first_demo 0.0.1 (y/N)? y
Uploading...
Successfully uploaded package.D:\002_Project\002_Android_Learn\flutter_package>
插件地址是 : https://pub.dev/packages/flutter_package_first_demo
发布插件包坑挺多 : 报错信息一个接着一个 , 研究了一晚上 ;
- 【错误记录】发布 Flutter 插件包报错 ( It‘s strongly recommended to include a “homepage“ or “repository“ field )
- 【错误记录】发布 Flutter 插件包报错 ( Failed to upload the package.pub finished with exit code 1 )
- 【错误记录】发布 Flutter 插件包报错 ( ‘gmail.com‘ has insufficient permissions to upload new versions of package)
八、博客资源
GitHub 地址 : https://github.com/han1202012/flutter_package
【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )相关推荐
- 罗永浩回应“鲨鱼皮技术遭质疑”;消息称马蜂窝开启裁员;Dart 2.7 发布 | 极客头条...
整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...
- 【Flutter】开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 )
文章目录 一.Flutter 包和插件简介 二.创建 Flutter 插件 1.Android Studio 中可视化创建 2.命令行创建 三.创建 Dart 包 1.Android Studio 中 ...
- 【Flutter】Flutter 混合开发 ( Dart 代码调试 | Flutter 单独调试 | 混合模式下 Flutter 调试 )
文章目录 前言 一.单独运行 Flutter 代码时调试 Dart 代码 二.混合模式下 Flutter 调试 Dart 代码 三.相关资源 前言 Flutter 混合开发集成步骤 : ① 在 And ...
- Flutter学习总结(二)开发语言Dart学习
语言都是相通的,Dart语言也不例外,对比,参考尤为重要. 注释 单行注释: // todo 一般针对某一语句进行注释. 多行注释: /* * 针对一段逻辑可以多行解释,但是这种用的不多, * 大部分 ...
- Flutter之window系统下配置开发环境以及在Android Studio里面运行hello word
1 .window系统配置Flutter开发环境 1)下载Flutter的SDK 如果电脑安装了Git,直接到https://github.com/flutter/flutter/这里下载,但是需要翻 ...
- Flutter夜神模拟器调试及Vscode开发
下载夜神模拟器下载链接 为什么下载第三方的模拟器,因为快,安装方便,操作又简单,很适合菜鸟的我 下载安装完之后,打开android Studio的run ,执行Run 'app'就会自动把你的项目安装 ...
- 为什么 Flutter 已经为企业应用程序开发做好了准备
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4cowIVYw-1622584445972)(https://ducafecat.tech/2021/06/02/tra ...
- 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 完整代码示例 )
文章目录 前言 一.Android 端完整代码示例 二.Flutter 端完整代码示例 三.相关资源 前言 前置博客 : [Flutter]Flutter 混合开发 ( Flutter 与 Nativ ...
- 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | Android 端实现 MethodChannel 通信 )
文章目录 前言 一.Android 端 MethodChannel 构造函数 二.Android 端 setMethodCallHandler 方法 三.Android 端实现 MethodChann ...
最新文章
- Python编写Hive UDF
- WinAPI: 输入光标相关的函数[3]
- 软件工程几点总结要点
- cJSON 使用笔记
- 打包python程序
- Cnblogs自定义皮肤css样式-星空观测者
- oracle 28000错误码,Oracle数据库 ORA-28000 错误处理方式
- Fiddler抓包工具之Filters(过滤器)进行会话过滤
- 【JEECG技术文档】JEECG 组织机构导入V3.7
- 2021年上犹中学高考成绩查询入口,上犹县2019年高考成绩单出来了……
- 梦幻粉色空间手机背景素材,爱梦想的设计师
- Random Forest
- php centos mysql_Linux+Apache+PHP+MySQL服务器环境(CentOS篇)
- 三种分布式爬虫系统的架构方式
- 海外苹果ID游戏下载教程
- 请求接口时常见的数据请求类型
- 黑客教父郭盛华:提升家庭WiFi的10个方法
- perl脚本基础总结(转)
- 遥感影像的比例尺和分辨率的关系
- Windows 10 下安装pycrypto时出错的解决问题