Flutter 开发一个自己的 package(纯Dart)并提交到pub.dev上

news2024/12/24 8:20:30

      • 小提示
      • 第一步:创建一个 package
      • 第二步:实现我们的package
      • 第三步:发布到 pub.dev 上。
      • END发布的准备工作

小提示

Flutter 轮子库。本文是为大家讲述怎么自己写个轮子发布到到上面。

https://pub.flutter-io.cn/packages

第一步:创建一个 package

AS的创建一个package包有个bug,一直提示为:

solo:我们来用命令行创建一个package包。
想要创建初始的 Flutter package,请使用带有 --template=package 标志的 flutter create 命令:

flutter create --template=package hello

这将在 hello 目录下创建一个 package 项目,其中包含以下内容:

LICENSE 文件
大概率会是空的一个许可证文件。

(第三步会讲怎么搞出来一个许可文件)

test/hello_test.dart 文件
Package 的 单元测试 文件。

hello.iml 文件
由 IntelliJ 生成的配置文件。

.gitignore 文件
告诉 Git 系统应该隐藏哪些文件或文件夹的一个隐藏文件。

.metadata 文件
IDE 用来记录某个 Flutter 项目属性的的隐藏文件。

pubspec.yaml 文件
pub 工具需要使用的,包含 package 依赖的 yaml 格式的文件。

README.md 文件
起步文档,用于描述 package。

lib/hello.dart 文件
package 的 Dart 实现代码。

.idea/modules.xml、.idea/workspace.xml 文件
IntelliJ 的各自配置文件(包含在 .idea 隐藏文件夹下)。

CHANGELOG.md 文件
又一个大概率为空的文档,用于记录 package 的版本变更。

第二步:实现我们的package

因为本人比较菜鸡,不会原生开发,所以直接在lib文件下写自己的功能代码就行了。

第三步:发布到 pub.dev 上。

需要翻墙!!!
需要翻墙!!!
需要翻墙!!!

一旦完成了 package 的实现,你便可以将其提交到 pub.dev 上,以便其他开发者可以轻松地使用它。

发布你的 package 之前,确保检查了这几个文件:pubspec.yaml、README.md 和 CHANGELOG.md,确保它们完整且正确,另外,为了提高 package 的可用性,可以考虑加入如下的内容:

  • 代码的示例用法

  • 屏幕截图,GIF 动画或者视频

  • 代码库的正确指向链接

接下来,运行 dry-run 命令以检验是否所有内容都通过了分析:

flutter pub publish --dry-run

最后一步是发布,请注意:发布是永久性 的,运行以下提交命令:

flutter pub publish

设置了中国镜像的开发者们请注意:目前所存在的镜像都不能(也不应该)进行 package 的上传。如果你设置了镜像,执行上述发布代码可能会造成发布失败。网络设定好后,无需取消中文镜像,执行下述代码可直接上传:

flutter pub publish --server=https://pub.dartlang.org

有关提交的详细信息,请查阅关于 Pub 站点的 提交文档。

END发布的准备工作

  1. 你的 package 必须包含一个 LICENSE 文件。我们推荐 BSD 3-clause 许可证,也就是 Dart 和 Flutter 团队所使用的开源许可证。同时,对于你所上传的 package 任意部分,你必须拥有重新发布的合法权利。

  2. 通过 gzip 压缩后,你的 package 必须小于 100 MB。如果它所占空间过大,考虑将它分割为几个小的 package、使用 .pubignore 移除不需要的文件,或者减少包含资源或实例的数量。

  3. 你的 package 应该仅依赖于已被托管的依赖项(来自默认的 pub 包服务)和属于 SDK 的依赖项(sdk: flutter)。这些限制条件确保了你的 package 的依赖项在未来依然可用。

  4. 你必须有一个 Google 账户,pub 将使用它来管理 package 上传权限。你的 Google 账户可以与 Gmail 或其他任何邮箱地址关联。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P2P僵尸网络-家族类别

Pink Pink 家族曾在中国境内感染了超过百万级的设备,其非实效性指令通过 P2P 传递,实效性强的指令通过集中控制的方式发布。是一个设计巧妙的 P2P 僵尸网络家族 Pink 僵尸网络概述 Pink 主要针对基于 mips 的光纤路由器,并且具有非常强大的和…

如何使用人力资源软件识别保留优秀员工

在企业信息化的时代,越来越多的年轻员工开始追求他们的激情,辞掉那些乏味的工作,而选择加入重视员工生活质量的企业。他们不再追随那些以牺牲员工福利为代价追求利润的公司。 员工认可度有助于加强组织中的团队合作关系,反过来&a…

VS 17.5 预览版2:/Gw链接开关的标准一致性改进

/Gw 链接开关可以告诉链接器优化代码中的全局数据,从而减小最终生成的二进制文件的大小。在 Visual Studio 17.5 预览版2中,我们新增了一个新的标志:/Zc:checkGwOdr[-] ,目的是在使用 /Gw 开关的时候改进对 C 标准的一致性支持。 …

表情包也能用 AI 生成?如何借助 AIGC 自定义专属表情包 #Memix

随着我们越来越离不开社交媒体,表情包也已经成为我们日常生活中的必备单品。有着个人鲜明风格的「表情包」,不仅是独特的「社交名片」,也能给人留下耳目一新的印象!谁的收藏夹里没有一堆私藏表情包呢!Memix借助 AI 技术…

画中画怎么制作?教你如何录制画中画视频,图文教学

很多小伙伴在录制视频的时候,都需要录制摄像头,以画中画的方式放置在视频当中。在网上眼花缭乱的录屏软件里,有不少的录屏软件是无法做到画中画视频的。画中画怎么制作?今天小编分享2个录制画中画视频的方法,一起来看看…

实心球状CdSe/ZnS/硫量子点QD-AFP-Ab/CPV VLP标记抗体/蛋白的制备方法与电镜表征

实心球状CdSe/ZnS/硫量子点QD-AFP-Ab/CPV VLP标记抗体/蛋白的制备方法与电镜表征 今天小编分享量子点标记蛋白,一起看看吧: 量子点标记蛋白的制备过程: 将纯化后的 CPV-VP2蛋白溶液(测定OD2802.0,蛋白浓度为2mg/ml)和…

CTK Plugin Framework插件框架学习--CTK服务工厂

一、前言 注册服务的时候能够用服务工厂来注册; 访问服务getServeice中的plugin参数是执行ctkPluginContext::getService(const ctkServiceReference&)的插件,从而工厂根据执行的不同插件名称返回不同的服务实现 服务工厂的作用 在服务中可以知道…

华为NAT实验配置

路由器基础配置 AR2 int g0/0/3 ip add 192.168.10.254 24 int g0/0/2 ip add 192.168.20.254 24 int g4/0/0 ip add 192.168.30.254 24 int g0/0/1 ip add 10.0.23.2 24 int g0/0/0 ip add 10.0.12.2 24 ip route-static 192.168.11.0 24 10.0.12.1 ip route-static 192.168.2…

2022年中国数据库排行榜年终盘点-墨天轮

深山虎啸雄风在,绿野兔奔好景来。 崭新的2023年已经到来,在2022年里,国产数据库行业发生了翻天覆地的变化,投融资此起彼伏,国产化替代进程加速,国产数据库行业发展的如火如荼。墨天轮12期中国数据库排行榜解…

Python验证中心极限定理

中心极限定理 中心极限定理提出了:无论总体服从什么分布,只要n充分大,那么样本均值分布就接近正态分布。 样本的数量越大,取样次数越多,样本平均值的分布也就越接近于一条正态分布曲线。普遍的经验是,样本…

redis 5种数据结构适用场景

网上介绍太笼统了,呕心沥血整理出来的可理解的适用场景,查看下图redis-cli指令大全:点击查看redis指令Redis支持5种数据类型:string(字符串)hash(哈希)list(列表&#xf…

飞行类手册国际标准简介

在业界有这个说法:三流的企业卖产品,二流的企业卖技术,一流的企业卖标准。一流企业是行业的标杆,行业的制定者。现在标准已经成为最重要的行业发展因素,谁的产品标准一旦为世界所认同,谁就会引领整个产业的…

指针进阶(C语言)

目录 字符指针 使用方法: 1、指向字符 2、指向字符串的首地址 指针数组 数组指针 数组指针的定义 数组名表示的含义 数组指针的使用 数组参数、指针参数 一位数组传参 二维数组传参 一级指针传参 二级指针传参 函数指针 函数指针数组 指向函数指针数组的指针 回调函…

网站让百度收录的技巧有哪些?网站在百度收录情况怎么查询

同样都是新上线的站点,为什么有的人是秒收,有的人可能要等很多时间才能收录,其实这些都是有技巧加快百度收录我们网站的。网站让百度收录的技巧有哪些?1、上线之前做好网站内容 我们在上线之前一定要做好充足的准备,这…

浏览器控制台接口学习

我们在做项目开发时,想知道一个功能调用了后台哪个接口,我们就可以在浏览器控制台中进行查看。 举一个例子,我们在看博客时,发现这一篇文章写的不错,我们在做点赞这个动作时,调用了哪个接口呢? …

linux 内存恒等映射

目录 arm64内存管理 恒等映射 页表定义,采用4级分页模型 创建页表 内存属性 从进程角度看,需要内存的地方 1、进程本身,代码段、数据段用来存储程序本身需要的数据 2、栈空间:用来保存函数调用关系、局部变量、函数参数、函…

在centos系统上安装mongodb数据库

在centos系统上安装mongodb数据库 本文章基于centos8系统; 如何查看当前系统是centos的那个版本 终端输入命令 cat /etc/redhat-release 开始安装官网当前的数据库版本6.0; 查看官方文档 创建 mongodb yum 源头,写入基本信息 vim /etc/yum.repos.d/mongodb-org-6.0.repo [mon…

手把手教你如何创建和美化图表,老板直接给我升职!

一图胜千言。说到图表,想必很多人都被网上酷炫的图表震惊过。比如下面这样的可视化图表,看起来,很高大上有没有。但是,拆解开来,就是由一个个基础图表演变而来的。所以可不要小瞧了基础图表的制作。今天我就教你如何用…

使用ORM方式查询Mongodb里的数据,再也不用记Mongodb的语法(ORM Bee)

使用ORM方式查询Mongodb里的数据,再也不用记Mongodb的语法(ORM Bee)Mongodb的语法可读性差,要写复杂查询,要求技术能力高;Java驱动,还要使用另一种语法;学习成本太高了。可以使用ORM方式,轻松搞…

【redis6】第三章(五大常用数据类型)

redis命令列表&#xff1a;http://www.redis.cn/commands.html Redis键 set < key >< value >添加键值对 [rootlocalhost ~]# cd /usr/local/bin [rootlocalhost bin]# redis-server /etc/redis.conf [rootlocalhost bin]# redis-cli 127.0.0.1:6379> set k1 a…