前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )

【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )

作者头像
韩曙亮
发布2023-03-29 16:18:52
7040
发布2023-03-29 16:18:52
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

前言

上一篇博客 【Flutter】开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 ) 三、创建 Dart 包

1、Android Studio 中可视化创建 中 , 创建了 Dart 包 ;

本篇博客中 , 开发该 Dart 包 , 并将其发布到 Flutter 公共仓库中 ;

一、开发 Dart 包内容


创建完毕之后 , 自动生成了一个 flutter_package.dart 源码文件 , 内容是

代码语言:javascript
复制
library flutter_package;

/// A Calculator.
class Calculator {
  /// Returns [value] plus 1.
  int addOne(int value) => value + 1;
}

实现了一个简单计算功能 , 导入该包后 , 调用 addOne 方法 , 就会将传入的参数 +1 返回 ;

这里保持不变 ;

二、配置 pubspec.yaml


在 pubspec.yaml 中配置该项目 :

代码语言:javascript
复制
# 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 包是否正常 ;

代码语言:javascript
复制
flutter packages pub publish --dry-run

运行后正常 :

代码语言:javascript
复制
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.dart

Package has 0 warnings.

七、将 Dart 包推送到中央仓库中


执行如下命令 , 将 Dart 包推送到中央仓库中 ;

代码语言:javascript
复制
flutter packages pub publish --server=https://pub.dartlang.org
代码语言:javascript
复制
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.dart

Publishing is forever; packages cannot be unpublished.
Policy details are available at https://pub.dev/policy

Do you want to publish flutter_package 0.0.1 (y/N)?

输入 y 然后点击回车 , 这里弹出一个链接 , 需要到该地址登录 Google 账号 ;

代码语言:javascript
复制
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...

选择了要登录的账号后 , 需要进行手机验证 ;

输入手机验证码 ;

授权成功 ;

终于上传成功了 :

代码语言:javascript
复制
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.dart

Publishing is forever; packages cannot be unpublished.
Policy details are available at https://pub.dev/policy

Do 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

发布插件包坑挺多 : 报错信息一个接着一个 , 研究了一晚上 ;

八、博客资源


GitHub 地址 : https://github.com/han1202012/flutter_package

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、开发 Dart 包内容
  • 二、配置 pubspec.yaml
  • 三、编写 Dart 包使用说明
  • 四、编写 Dart 包授权许可
  • 五、设置版本变更记录
  • 六、验证 Dart 包正确性
  • 七、将 Dart 包推送到中央仓库中
  • 八、博客资源
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档