1.pub 创建
1.纯dart库
flutter create --template=package hello
2.iOS swift、android java
flutter create --org com.example --template=plugin --platforms=android,ios -a java hello
3.iOS Object-C、android java
flutter create --org com.example --template=plugin --platforms=android,ios -a java -i objc hello
4.iOS Object-C、android Kotlin
flutter create --org com.example --template=plugin --platforms=android,ios -i objc hello
5.iOS Swift、android Kotlin
flutter create --org com.example --template=plugin --platforms=android,ios hello
2.pub 发布
flutter packages pub publish --server=https://pub.dartlang.org
3.pub语法
# 包名, 其他项目引入使用此名
name: object
# 描述
description: A new Flutter project.
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# 对应工程的版本号 +1 为build号
version: 1.0.1+1
# 发布pub使用, 项目地址
# homepage: https://github.com/GImperialSeal/evnironment_switch.git
# 发布pub使用, 名字+谷歌邮箱
# author: guyuxi<18637780521yx@gmail.com>
# 发布pub使用, 对应仓库地址
# issue_tracker: https://github.com/GImperialSeal/evnironment_switch.git
environment:
# dart sdk 限制 高于或等于2.7.0,低于3.0.0的Dart SDK版本上运行。
sdk: ">=2.12.0 <3.0.0"
# 指定flutter sdk 版本
# flutter: "1.22.2"
# 打包编译依赖的库
dependencies:
flutter:
sdk: flutter
# 依赖pub.dev 上的第三方库
# 版本的指定有多种形式:
# 不指定或者 any, 默认加载 最新的版本, 不推荐
# image_picker: any
# image_picker:
# 明确指定版本
# path_provider: 1.6.22
# 指定依赖的版本。 <=x.y.z 或者<x.y.z 小于或者小于等于此版本的包
# path_provider: <=1.6.22
# 指定版本的区间 >=a.b.c <x.y.z
# path_provider: '>=1.0.0 <1.6.22'
# 推荐 ^x.y.z 此方式表示大版本不变,小版本使用最新的版本
#例如^1.6.22 相当于'>=1.6.22 <2.0.0'`
cupertino_icons: ^1.0.0
image_picker: any
english_words: any
# 依赖本地库
# flutter_package:
# path: ../flutter_package
# 依赖远程库
# url: 仓库地址, ref: 代码分支 path: 指定子库用
# flutter_package:
# git:
# url: https://github.com/felangel/bloc.git
# ref: bloc_fixes_issue_110
# path: packages/bloc
# 依赖自己的仓库
# name: 库名 url: 仓库地址 version: 指定版本
# flutter_package:
# hosted:
# name: bloc
# url: http://your-package-server.com
# version: ^6.0.0
# 解决库冲突, 库名 + 使用版本
# dependency_overrides:
# path_provider: ^1.6.22
# 插件项目, 原生项目中加入插件, iOS一般会插入podspec文件
# flutter:
# plugin:
# androidPackage: com.jd.mrd.jdfpassportlogin
# pluginClass: JdfpassportloginPlugin
# 运行期间依赖的库, 测试使用
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
assets:
- lib/images/lake.png
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages