Flutter篇 (三)发布package到pub.dev

2024-03-04 01:18
文章标签 发布 flutter package dev pub

本文主要是介绍Flutter篇 (三)发布package到pub.dev,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

   发布package到Dart需要处于不被和谐的上网环境下, 而且需要google账号 ,代表这个package的所有权 ,  如果你还没有注册google账号或者无法打破被和谐的环境,可以参考我的另一篇博客 : 搭建谷歌云

   既然是要发布package , 就需要先创建一个package项目,前提是你已经配置好了Flutter开发环境 ,打开我们AndroidStudio , 依次点击File / New / New Flutter Project  , 这次要选择Flutter Package 

   

   然后点击Next填写package的名称和描述信息,最后点击Finish即可

   现在我们已经创建了一个package的项目了, 然后将你要打包发布的代码放置在lib目录下,lib下可创建多层级的子包 ,就跟我们开发Flutter项目一样, 不过.dart文件的命名建议全部使用小写格式( 例如: MyFirstApp.dart  建议改成 my_first_app.dart  ), 因为发布的时候Dart SDK 会检查我们的代码,有大写的 .dart命名文件会报出警告 , 不过也不影响发布 , 只是一对的满江红,看着不爽

   创建完项目后,会自动生成一些文件, 这里我们需要重点关注下三个文件

   

  CHANGELOG.md 是我们要发布的package的版本信息,和当前版本的介绍,这里以我已经发布的一个项目为例

   

   pubspec.yaml 定义了我们的个人信息,就是这个package的归属权 , 以及我们的个人信息

    name : 发布到 pub.dartlang.org 的package名称 

    description : package的介绍

    version : 当前版本

    author :  我们的名字和邮箱

    homepage : 我们的个人网站(可以是GitHub或者CSDN...)

   

  LICENSE 既然要开源这个项目,当然还需要一个开源许可

  

  Dart推荐的是BSD的方式 , 如果你懒得去详细了解如何生成BSD格式的许可信息,那么可以直接在GitHub新建一个项目 ,然后选择一个BSD类型的许可就可以了

  

 创建完上面的GitHub项目后,会生成一个LICENSE ,直接拷贝到我们的package中即可

 README.md 一些项目的简介,内容按需配置就行

 目前为止,准备工作进行的差不多了,是时候发布我们的package了

 我这里使用的是AndroidStudio下面的Terminal控制台(其实就是系统的cmd.exe)

 执行命令 flutter packages pub publish --dry-run 

 此时Dart会检查我们项目的目录结构以及语法等, 接下来会列出类似于下面的这些信息

D:\WorkerSpace\flutter_chart>flutter packages pub publish --dry-run
Publishing flutter_chart 0.0.1 to https://pub.flutter-io.cn:
|-- .flowconfig
|-- .gitignore
|-- .idea
|   |-- encodings.xml
|   |-- flutter_chart.iml
|   |-- libraries
|   |   |-- Dart_Packages.xml
|   |   |-- Dart_SDK.xml
|   |   '-- Flutter_Plugins.xml
|   |-- misc.xml
|   |-- modules.xml
|   |-- vcs.xml
|   '-- workspace.xml
|-- .metadata
|-- CHANGELOG.md
|-- LICENSE
|-- README.md
|-- android
|   |-- app
|   |   '-- src
|   |       '-- main
|   |           '-- java
|   |               '-- io
|   |                   '-- flutter
|   |                       '-- plugins
|   |                           '-- GeneratedPluginRegistrant.java
|   '-- local.properties
|-- flutter_chart.iml
|-- lib
|   |-- chart
|   |   |-- chart_bean.dart
|   |   |-- painter
|   |   |   |-- base_painter.dart
|   |   |   |-- chart_bar_painter.dart
|   |   |   '-- chart_line_painter.dart
|   |   '-- view
|   |       |-- chart_bar.dart
|   |       '-- chart_line.dart
|   '-- flutter_chart.dart
|-- pubspec.yaml
'-- test'-- flutter_chart_test.dartPackage has 0 warnings.

 因为我这文件的命名已经按照dart建议的方式的修改过了,所以没有命名格式的警告

 接下来就可以发布了

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

 到这一步,如果没错误的话,会提示你要不要继续(y/n) , 输入y后不出意外会在控制台打印出一串链接, 是要我们自己拷贝到浏览器 中,去验证我们的google账号,说白了就是鉴权, 将要发布的这个package关联到我们的google账户下面

 

 看到下面这个界面 代表认证成功了

 此时控制台会接收到认证信息, 开始发布你的package,出现下面的信息,说明发布成功了

 

此时你的google邮箱也会收到package发布成功的邮件

 

  现在试试在pub.dartlang.org搜索刚刚发布成功的package 

 

 当然了,这只是理想的情况下,如果你出现了以下情况,基本上可以确定被和谐了

 

 

 此时你可以在Terminal 输入 curl google.com  测试google是否可以连通,以下是成功返回信息的样本

 

失败或者超时

 

如果你的终端超时了,此时就需要配置代理 (前面配置好的ShadowScoks代理ip和端口)

 

 然后重新测试 curl google.com  如果返回信息代表是google是可以连通的

 然后重新执行命令 flutter packages pub publish --server=https://pub.dartlang.org即可 , 如果你前面认证成功了,后面是不需要再次认证的,会直接提示发布成功

 Good Luck ! 

这篇关于Flutter篇 (三)发布package到pub.dev的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/771552

相关文章

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们