• [Flutter] 发布自己的插件 package


    我们自己做了插件包,当然也想发布到pub.dartlang.org上去。怎么发布呢?先看看官方的说明(https://flutter.io/developing-packages/)。

    Publishing packages

    Once you have implemented a package, you can publish it on Pub, so that other developers can easily use it.

    Prior to publishing, make sure to review the pubspec.yamlREADME.md, and CHANGELOG.md files to make sure their content is complete and correct.

    Next, run the dry-run command to see if everything passes analysis:

    $ flutter packages pub publish --dry-run

    Finally, run the actual publish command:

    $ flutter packages pub publish

    For details on publishing, see the Pub publishing docs.

     

    意思就是说,做好插件后,在终端中先执行  $ flutter packages pub publish --dry-run 来检查看是否没有问题了,再执行下一句 $ flutter packages pub publish 来上传。

    在这两步中,如果没有问题会在终端中会显示 ”Package has 0 warnings.“。

    在这一步如果出错,可以检查一下 pubspec.yaml 中最后的 environment 字段是否设置。一般会是这样:

    environment:
      sdk: ">=2.0.0-dev.28.0 <3.0.0"
      flutter: ">=0.1.4 <2.0.0"

    如果配置了还是不行,按照提示修改。

    好了,在一切都没有问题时,我们开始上传。输入命令  $ flutter packages pub publish 回车,会先检测项目结构是否合法,然后会出现这样的界面:

    输入 "y" 回车。

    第一次上传,会要求登录谷歌账号。这个时候终端会出现一个url地址,类似这样:

    https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&response_type=code&client_id=818368855108-8grd2eg9tj9f38os6f1urbcvsq399u8n.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A62338&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email
    

      

    将地址复制出来,在浏览器URL中输入打开这个地址,允许登录谷歌账号就可以了。

    但是在这里,由于国内限制了谷歌的访问,所以一般会打不开,怎么办呢?这个时候我们只能借助SVN工具了。我使用的是”无界“。

    打开无界,设置成如下:

    配置 Internet 属性中的局域网设置

    在代理设置界面中,输入无界的代理地址和端口。如上图所示。

    这个时候再刷新页面,应该可以打开我们要登录谷歌的网址了。

    登录谷歌账号后出来如果所示的界在,这时候点击相关账号确认就行了。

    确认登录后,浏览器会回调给 Android Studio ,这时候 Android Studio 会开始连接谷歌并上传我们的插件包。

    但是这里也要注意,可能也会因为谷歌被屏蔽而失败。(出现下图所示的提示时,一般就是这个问题了)

    这个时候我们需要设置终端的HTTP代理(在Android Studio中系统设置的配置的并没有效果)。在终端中执行如下命令配置代理:

    set http_proxy=http://127.0.0.1:9666
    set https_proxy=https://127.0.0.1:9666

    配置好后重新执行发布命令,重新执行上面认证登录的流程即可。(下图为上传成功的提示)

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

  • 相关阅读:
    Java 线程间通信 —— 等待 / 通知机制
    Java 线程基础
    Java 内存模型
    Java 并发机制底层实现 —— volatile 原理、synchronize 锁优化机制、原子操作
    优秀程序员的博客有哪些?
    程序员五一被拉去相亲,结果彻底搞懂了HTTP常用状态码
    【Redis破障之路】三:Redis单线程架构
    【Redis破障之路】一:强大的Redis
    MySQL提升笔记(4)InnoDB存储结构
    MySQL提升笔记(3)日志文件详解
  • 原文地址:https://www.cnblogs.com/yangyxd/p/9234405.html
Copyright © 2020-2023  润新知