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

相关文章

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1

Flutter实现文字镂空效果的详细步骤

《Flutter实现文字镂空效果的详细步骤》:本文主要介绍如何使用Flutter实现文字镂空效果,包括创建基础应用结构、实现自定义绘制器、构建UI界面以及实现颜色选择按钮等步骤,并详细解析了混合模... 目录引言实现原理开始实现步骤1:创建基础应用结构步骤2:创建主屏幕步骤3:实现自定义绘制器步骤4:构建U

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc