咱们本身作了插件包,固然也想发布到pub.dartlang.org上去。怎么发布呢?先看看官方的说明(https://flutter.io/developing-packages/)。html
Publishing packages
Once you have implemented a package, you can publish it on Pub, so that other developers can easily use it.api
Prior to publishing, make sure to review the
pubspec.yaml
,README.md
, andCHANGELOG.md
files to make sure their content is complete and correct.浏览器Next, run the dry-run command to see if everything passes analysis:bash
$ flutter packages pub publish --dry-run
Finally, run the actual publish command:app
$ flutter packages pub publish
For details on publishing, see the Pub publishing docs.工具
意思就是说,作好插件后,在终端中先执行 $ flutter packages pub publish --dry-run
来检查看是否没有问题了,再执行下一句 $ flutter packages pub publish 来上传。
google
在这两步中,若是没有问题会在终端中会显示 ”Package has 0 warnings.“。url
在这一步若是出错,能够检查一下 pubspec.yaml 中最后的 environment 字段是否设置。通常会是这样:spa
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