Flutter开发package(Dart包)
2020-06-02 本文已影响0人
fanren
一、创建package
- 创建crud_service
flutter create --template=package crud_service
;
- 创建crud_service
- 开发代码:lib/crud_service.dart;
使用export在crud_service.dart中导入所有的外部文件
- 开发代码:lib/crud_service.dart;
export 'Env/DataDecoder.dart';
export 'Env/ServiceConfig.dart';
- 依赖其他第三方库:
pubspec.yaml
- 依赖其他第三方库:
dependencies:
flutter:
sdk: flutter
dio: ^2.1.13
json_annotation: ^2.0.0
二、发布package
- 1、编辑pubspec.yaml
name: crud_service
description: A new Flutter package project.
version: 0.0.2
homepage: https://github.com/fanren5119/flutterCrud
此处不需要author一栏,会报错;
- 2、检测包是否合理
cd crud_service
flutter packages pub publish --dry-run
- 3、发布到pub上
flutter packages pub publish
发布到pub上需要访问google账号登录;
三、发布问题
- 1、国内可能需要FanQiang(浏览器与Termianl)
浏览器FanQiang:我使用了Shadowssocks
Termianl:设置全局代理
export http_proxy="http://127.0.0.1:1087"
export https_proxy="http://127.0.0.1:1087"
注意一点在Terminal 的生命周期中这个全局代理是有用的,一旦关闭了当前的Terminal,或者重新开一个那么就要重新运行上面的命令了
这里的ip与端口需要在Shadowssocks的设置中查看;
- 2、注册一个google的账号(例如xxx.gmail.com)
- 3、修改~/.bash_profile文件
// 删除这两行
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
刷新终端口:source ~/.bash_profile
或可使用unset FLUTTER_STORAGE_BASE_URL;unset PUB_HOSTED_URL
临时使上述两行失效;
发布成功之后,要改回来,不然android studio里会获取不到;
- 4、发布新版本
需要在CHANGELOG.md中对新版本做出描述;
## [0.0.1] - TODO: Add release date.
## [0.0.2] - TODO: add export file