开发组件tkoul_channel_plugin
一.前置准备工作
1.申请谷歌账号,发布的话会用,最好能翻墙,直接google右上角创建账号即可(吧啦吧啦-- 谷歌账号申请完毕)
2.打开 https://pub.dev/
右上角登录,选着google账号 同步登陆即可。
3.弄个域名,随便买,发布对外创建验证发布者需要关联域名。
二.开发阶段
1.用指令创建项目,以plugin(特殊的package)为例。指令flutter create 忘了是啥直接后面加--help能看到各个指令的描述
flutter create --org com.007icu --template=plugin -a java -i swift --platforms=ios,android
--org 为组织名称 填自己的包名/bundleid
--template有如下参数,我们根据需要选择自己要创建的。这里以plugin为例。app为flutter主项目,module 为开发供原生调用的库。package为纯 dart库。plugin为各平台的三方库。
-t, --template=<type> Specify the type of project to create.
[app] (default) Generate a Flutter application.
[module] Generate a project to add a Flutter module to an
existing Android or iOS application.
[package] Generate a shareable Flutter project containing
modular Dart code.
[plugin] Generate a shareable Flutter project containing an
API in Dart code with a platform-specific
implementation for Android, for iOS code, or for
--platforms=ios,android写法为左侧,可填入平台[ios (default), android (default), windows (default), linux (default), macos (default), web (default)]
-a java -i swift a指andriod,用java,i指iOS,用swift
2.吧啦吧啦。。。 开发完毕。(flutter2.0以后创建完项目,自动生成相关的简单代码,可根据需要改动),其它深入开发,移步度娘,搜索关键字 flutter 插件
flutter pub库开发
flutter package开发
等,有很多教程可学习参考。
三.发布阶段
1.发布公有库
1.登录https://pub.dev/
,右上角谷歌账号同步登陆。确保翻墙了,没翻墙准备配置代理吧。
2.右上角选择My pub.dev 点开选择 Create publisher。跳转界面,吧啦吧啦,阅读完不,Domain Name后面填入自己的域名-实际存在的域名(www.省略,只填写后面即可),后需要配置添加dns解析,有无备案都行。
3.吧啦吧啦,一直点击确认,OK等按钮。然后卡在这?下一步做什么呢
4.下一步打开谷歌搜索控制台https://search.google.com/search-console/about ,立即使用,会出现两栏验证,一个是域名(www.省略,只填写后面即可),一个是https的ip地址。这里选择域名方式,跟第2步对应起来。
5.点击确定,会生成TXT的域名配置。
6.去自己的域名管理网站,京东云,阿里云,百度云,腾讯云,华为云。。。均可,选择域名解析,添加TXT类型的解析。不知道怎么做的百度搜索下。把谷歌生成的txt解析配置添加到自己的域名解析里面。
7.返回第2步,重复,提示验证成功。
8.发布前检查。如果项目有BUG 或者语法编译不过,会有提示
flutter packages pub publish --dry-run
9.发布
flutter packages pub publish
(注意:首次发布需要验证,失败用flutter packages pub publish --server=https://pub.dartlang.org 下面特别注意有说明)
特别注意:
1.发布的LICENSE文件,默认创建生成内容为todo。需要删除,添加点内容,就是声明
比如换成
项目名
MIT License
描述内容(本软件免费使用,对外发布 xxxxxx)
2.很多开发者是没有翻墙,一般flutter开发下载安装都是基于国内镜像。即安装时,让配置的环境变量。需要屏蔽了,因为发布到公网-即https://pub.dartlang.org。发布成功记得再打开。
#export PUB_HOSTED_URL=https://pub.flutter-io.cn
#export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
3.如发布失败,尝试以下指令,指定地址
flutter packages pub publish --server=https://pub.dartlang.org
执行完毕,仔细看终端提示:用web打开链接 https:xxxxxxx 很长的一个串。这是因为第一次发布,需要去验证。复制这个地址串,google打开,使用自己的账号验证一下。返回终端,就会发布成功。
Successfully uploaded xxxx
2.发布私有库
发布私有仓库有两种方式
1.直接命令行后面加git库地址
flutter packages pub publish --server=私有仓库url
2.在pubspec.yaml文件中添加私有仓库地址
name: tkoul_channel_plugin
description: A new flutter plugin project.
version: 0.0.1
homepage: https://github.com/Tkoul/tkoul_channel_plugin
///在这基础上添加另一个属性
publish_to: 私有仓库url
第2步配置完地址就可以执行对外发布的指令,会读取配置的地址,发布到私有库。执行
flutter packages pub publish
四.引用私有仓库的项目
跟公有库差不多,但是需要配置host
tkoul_channel_plugin: ///项目名
hosted:
name: tkoul_channel_plugin ///项目名
url: xxxx............ ///私有仓库地址
version: ^0.0.1 ///版本号
历时2天,开发并发布了tkoul_channel_plugin库。本库用于flutter与iOS以及Andriod的交互库。在通信的基础上,进一步对iOS和andriod进行封装,只需要简单的注入,就可以在任意类里面实现协议方法,完成分布式调用。
项目地址:
https://pub.dev/packages/tkoul_channel_plugin
码字很累,谢谢给个赞!
从无到有参考了以下诸位的文章:
https://blog.csdn.net/tp7309/article/details/104758960/
https://www.jianshu.com/p/f698623fccf1
https://www.jianshu.com/p/5c3721efc6f9