IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter 发布 Plugin 到 Pub Package (Mac OS) -> 正文阅读

[移动开发]Flutter 发布 Plugin 到 Pub Package (Mac OS)

最近在研究将自己写的插件上传到Pub Package, 经过不懈的努力,终于上岸了

注意:全程建议在终端操作,不要关闭终端页面,不然要重新配置命令行科学上网

一、项目配置

1.新建Plugin项目(不懂得可以自行百度)

2.配置 pubspec.yaml

注意:这里只是示例,需要根据个人项目进行更改
在这里插入图片描述
如果有author这个可以删除,看别人说好像会影响发布

3.添加 README.md、CHANGELOG.md

README.md 主要用于向别人介绍api用法
CHANGELOG.md 主要用于记录每个版本的变更
项目里没有的,直接新建即可

4.添加 LICENSE

LICENSE,在Github新建项目的时候可以选择

在这里插入图片描述

一般选择MIT即可,如需了解,请点击 --> LICENSE 介绍

如果你说:呀,那我新建的时候没有选怎么办呢,那我现在没有LICENSE啊
在这里插入图片描述
不用急,看我的在这里插入图片描述
选择后会进入这个页面
在这里插入图片描述
再次点击Chose a license template,就会进入这个页面
在这里插入图片描述
最后点击Review and submit 就ok了

5.对外公开类

由于Flutter Plugin的机制,引用插件时默认只能引用到lib下与项目同名的那个dart文件,如果想调用其他类,需要手动导包,对使用者来说很不友好。所以,就需要对外公开。

方法也很简单,在lib下与项目同名的dart文件顶部添加(注意,不是example下的lib)

//这里声明一下library, flutter_native_hlper就是项目名称
library flutter_native_hlper; 
//下面这两个,就是要对外公开的类(根据自己项目的需要来公开)
export 'package:flutter_native_helper/flutter_native_constant.dart';
export 'package:flutter_native_helper/model/system_ringtone_model.dart';

这样,外部使用时就无需再手动导包了。

这时候,我们项目基本就已经配置完成了。

二、发布准备

前面的都比较简单,到这里每一步一定要认真

1.科学上网 (这点很重要,具体流程,自行百度)

注意:使用科学上网的插件时一定要选择全局科学上网

2.配置命令行科学上网

最初,单纯的我以为全局科学上网之后就ok了,但是在 授权步骤 时我栽了跟头,会一直卡在

Waiting for your authorization... 
Authorization recived, processing

解决办法:打开你的科学上网工具,找到
在这里插入图片描述
打开终端,依次输入 (这样做只能保证在当前终端有效,关闭这个窗口就会失效,如需永久保留,可配置在 bash_profile 或 zshrc 中)

//注意,要把 [127.0.0.1]、[10887] 替换成你本机的值
export http_proxy=http://127.0.0.1:10887
export https_proxy=http://127.0.0.1:10887

完成后,可以在终端输入 export -p 来校验是否添加成功,如果有我们刚才添加的值即为成功。

成功后,我们继续在终端输入curl www.google.com , 查看命令行科学上网是否成功开启,如果返回一大串字符则说明配置成功,如果没有,请检查你的科学上网配置 (是否开启了全局科学上网、在终端 export 的值是否与本机的值对应)

3.删除之前配置的Flutter国内镜像

因为这两个变量会影响待会儿的验证,所以查看你的环境变量,看看是不是包含这两个

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

如果有,删掉或者注释它们,注释就是在前面加一个#(最好先删掉)

删除的方法就是在 .bash_profile 或 .zshrc 里面查看是否存在(是 bash_profile 还是 zshrc 取决于你的mac使用的什么),具体查看方法请自行百度。

注意操作完之后,记得要source ~/.bash_profilesource ~/.zshrc 使其生效,否则只有重启后才会生效

4.注册一个谷歌账号(ps: 如果已经有的,可以直接看第三步👇)

由于发布到pub会有一个认证过程,这个认证必须要登录一个谷歌账号。
我在刚注册的时候,直接在电脑端网页注册的,结果在输入手机号接受验证码使直接提示我 当前手机号暂不可用 ,这可能是某些方面的限制.

然后我找到了一个办法:在移动端(我用的Android),要科学上网如果有Chrome浏览器将其语言设置为英文,下载一个QQ邮箱APP,在进入的时候选择Gmail登陆,会进入谷歌的注册页面,这个时候再次注册、输入手机号就可以了 (如果你最近在电脑端用同一个邮箱/手机号注册失败过,可能会导致现在也失败,解决办法就是换一个邮箱/手机号),我就是在电脑端失败了,在QQ邮箱那里注册的时候换了一个邮箱就可以了。

三、开始发布

如果刚才的流程都顺利通过,那么接下来的步骤你应该会很轻松

1.进入项目根目录

在终端,cd 到要发布项目的根目录

2.测试-命令行科学上网

防止你待会儿失败,在这里我们再次进行一次测试,还是输入curl www.google.com 查看能否返回一大串信息,成功-继续往下走,失败-回头仔细看(你是否在过程中关闭了终端,或检查科学上网配置)

3.将国内镜像转到官方源

flutter packages get

4.测试发布

这一步主要是看有没有什么问题(我也不太懂)

如果是第一次发布,这一步或下一步会让你去验证,验证很简单,会给你一个网址,你只需要复制到浏览器打开,登录刚才的谷歌账号即可。

flutter packages pub publish --dry-run

5.发布

这一步控制台可能会出现一个是否同意的步骤,输入 y 即可

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

如果在授权成功后,进入到了 uploading 状态,恭喜你授权成功!随后如果出现什么问题,根据它的提示来就可以了,我失败了一次是因为 pubspec.yaml中的description太长,按照要求更改即可。

如果你看到了这个界面,恭喜你,上岸了!!!
在这里插入图片描述
借鉴各位大佬:flutter-发布一个package到pub.dev 超详细教程
Plugin发布遇坑,google授权失败

最后,推荐一下我写的插件,最亮的点就是处理Flutter端应用内升级,一行代码即可,链接在 这里

谢谢大家

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:41:04  更:2022-03-12 17:42:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 17:26:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码