美文网首页Flutter
Flutter篇 (三)发布 package到 Dart

Flutter篇 (三)发布 package到 Dart

作者: 说点儿什么吧 | 来源:发表于2019-07-20 17:18 被阅读0次

    发布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.dart
    
    Package 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到 Dart

        本文链接:https://www.haomeiwen.com/subject/tnyulctx.html