- 小提示
- 第一步:创建一个 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发布的准备工作
-
你的 package 必须包含一个 LICENSE 文件。我们推荐 BSD 3-clause 许可证,也就是 Dart 和 Flutter 团队所使用的开源许可证。同时,对于你所上传的 package 任意部分,你必须拥有重新发布的合法权利。
-
通过 gzip 压缩后,你的 package 必须小于 100 MB。如果它所占空间过大,考虑将它分割为几个小的 package、使用 .pubignore 移除不需要的文件,或者减少包含资源或实例的数量。
-
你的 package 应该仅依赖于已被托管的依赖项(来自默认的 pub 包服务)和属于 SDK 的依赖项(sdk: flutter)。这些限制条件确保了你的 package 的依赖项在未来依然可用。
-
你必须有一个 Google 账户,pub 将使用它来管理 package 上传权限。你的 Google 账户可以与 Gmail 或其他任何邮箱地址关联。