Flutter中Plugin开发之私有库和本地库
本文主要记录下plugin开发中的一些问题记录以及本地库和私有库使用
1. 发布plugin到私有库
1.1 发布gitlab上
我们在gitlab上创建仓库,之后我们创建一个plugin
之后对该目录工程进行常规的git操作
git init
by_flutter_example_plugin % git init
by_flutter_example_plugin % git remote add origin git@xxx/by_flutter_example_plugin.git
by_flutter_example_plugin % git add .
by_flutter_example_plugin % git commit -m "Initial commit"
by_flutter_example_plugin % git push -u origin develop
当然也可以使用客户端操作,上传后
仓库如下
加载Git packages
,编辑pubspec.yaml
使用
by_flutter_example_plugin:
git:
url: git@xxx/by_flutter_example_plugin.git
ref: develop
ref
可以指定某个commit
,branch
或者tag
。
1.2 发布Github上
发布到Github
使用也是类似,创建仓库后如果是公有仓库的话直接就git操作
上传即可,有的时候我们会指定git版本
对于一些三方的库,可能有些适配或者问题,我们就可以拷贝一份到自己的仓库进行一些自定义的修改
- 指定版本
pull_to_refresh:
git:
url: https://github.com/miquelbeltran/flutter_pulltorefresh
checkout
这个时候我们就可以做些自定义操作修改
。
我在GitHub
上发布私有库的时候遇到了关于SSH验证
的问题,关联的时候说不能使用账号和密码
进行关联,使用SSH,关于SSH问题,我之前添加过了但是不知道是不是过期,所以重新上传了下电脑中的
cat ~/.ssh/id_rsa.pub
上传同样的git命令
使用
by_test_plugin_demo:
git:
url: git@github.com:DHFLoveWL/by_test_plugin_demo.git
2. 本地库的使用
2.1 本地服务器
对于本地库的方式有2种,一种是通过本地服务器
进行创建上传使用
我们下载pub_server 后put get
运行
pub_server % dart example/example.dart -d /tmp/package-db
表示成功,之后我们在
pubspec.yaml
,添加publish_to
publish_to: http://localhost:8080
之后操作和发布到pub
一样
flutter packages pub publish
使用
flutter_imkit_plugin:
hosted:
name: flutter_imkit_plugin
url: http://localhost:8080
version: ^0.0.2
2.2 手动创建
如果代码没啥要求,直接放在本地,开发调试也更加方便.我们把创建好的plugin
放到flutter项目根目录下,创建文件夹plugins
,放入我们的plugin
加载plugin
dev_dependencies:
by_test_plugin:
path: plugins/by_test_plugin
导入成功
3. plugin开发添加照片
我们添加图片资源
我们在plugin的插件中需要加载完整的路径才能读取官方说明
可以发现对于想使用packgae中我们要使用图片的话,首先要在pubspec.yaml
中加载加载完整路径,其次使用的时候要指定packages
.在内部使用的话拼接完成路径即可,不用指定包
对于我们在plugin插件中使用图片资源的话,我们不导入完整路径
笔者开始的时候全部导入,后面我又注释了也可以,之后重新运行又报错
最后还是按照官方的来使用吧,添加完整的路径包含json文件
运行正常:
4. 小结
plugin
我们可以在本地文件夹下进行调试,修改。之后在上传,较方便。私有库我们指定git
的url
即可,通过ref
添加条件。比,使用资源的时候要指定package
同时拼接完整路径
。
转载自:https://juejin.cn/post/7128582184809529358