【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )
文章目錄
- 前言
- 一、開發 Dart 包內容
- 二、配置 pubspec.yaml
- 三、編寫 Dart 包使用說明
- 四、編寫 Dart 包授權許可
- 五、設置版本變更記錄
- 六、驗證 Dart 包正確性
- 七、將 Dart 包推送到中央倉庫中
- 八、博客資源
前言
上一篇博客 【Flutter】開發 Flutter 包和插件 ( Flutter 包和插件簡介 | 創建 Flutter 插件 | 創建 Dart 包 ) 三、創建 Dart 包
1、Android Studio 中可視化創建 中 , 創建了 Dart 包 ;
本篇博客中 , 開發該 Dart 包 , 并將其發布到 Flutter 公共倉庫中 ;
一、開發 Dart 包內容
創建完畢之后 , 自動生成了一個 flutter_package.dart 源碼文件 , 內容是
library flutter_package;/// A Calculator. class Calculator {/// Returns [value] plus 1.int addOne(int value) => value + 1; }實現了一個簡單計算功能 , 導入該包后 , 調用 addOne 方法 , 就會將傳入的參數 +1 返回 ;
這里保持不變 ;
二、配置 pubspec.yaml
在 pubspec.yaml 中配置該項目 :
# Dart 包名稱 name: flutter_package # 描述 description: A new Flutter project. # 版本號 version: 0.0.1 # 主頁 , 一般是 GitHub 的地址 homepage:# 所需的環境 environment:sdk: ">=2.12.0 <3.0.0"flutter: ">=1.17.0"# 依賴關系 dependencies:flutter:sdk: flutter三、編寫 Dart 包使用說明
一般在 Flutter 包中央倉庫中 , 搜索到某個 Flutter 包或插件 , 顯示的內容就是 Flutter 包 / 插件的工程根目錄的 README.md 文檔 ;
一般將插件的使用說明 , 寫在該文檔中 ;
四、編寫 Dart 包授權許可
修改根目錄下的 LICENSE 許可 ;
隨便找個 Flutter 插件 , 復制一份即可 ;
該協議不是必須的 ;
五、設置版本變更記錄
在 CHANGELOG.md 中 , 設置每個版本的變更記錄 , 具體就是某個版本更新后 , 更新了哪些內容 , 修改了哪些內容 ;
六、驗證 Dart 包正確性
先運行如下命令 , 檢查該 Flutter 包是否正常 ;
flutter packages pub publish --dry-run運行后正常 :
D:\002_Project\002_Android_Learn\flutter_package>flutter packages pub publish --dry-run Publishing flutter_package 0.0.1 to https://pub.flutter-io.cn: |-- .gitignore |-- .metadata |-- CHANGELOG.md |-- LICENSE |-- README.md |-- lib | '-- flutter_package.dart |-- pubspec.yaml '-- test'-- flutter_package_test.dartPackage has 0 warnings.七、將 Dart 包推送到中央倉庫中
執行如下命令 , 將 Dart 包推送到中央倉庫中 ;
flutter packages pub publish --server=https://pub.dartlang.org D:\002_Project\002_Android_Learn\flutter_package>flutter packages pub publish Publishing flutter_package 0.0.1 to https://pub.flutter-io.cn: |-- .gitignore |-- .metadata |-- CHANGELOG.md |-- LICENSE |-- README.md |-- lib | '-- flutter_package.dart |-- pubspec.yaml '-- test'-- flutter_package_test.dartPublishing is forever; packages cannot be unpublished. Policy details are available at https://pub.dev/policyDo you want to publish flutter_package 0.0.1 (y/N)?輸入 y 然后點擊回車 , 這里彈出一個鏈接 , 需要到該地址登錄 Google 賬號 ;
Do you want to publish flutter_package 0.0.1 (y/N)? y Pub needs your authorization to upload packages on your behalf. In a web browser, go to https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&response_type=code&client_id=818368855108-8grd2eg9tj9f38os6f1urbcvsq399u8n.apps.googleusercontent.com&redirect_uri=http%3A%2 F%2Flocalhost%3A57747&code_challenge=iplyOXdxiNSnXI7z1Xza2wrHOfTUx-LWyiKM3wVlokg&code_challenge_method=S256&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email Then click "Allow access".Waiting for your authorization...選擇了要登錄的賬號后 , 需要進行手機驗證 ;
輸入手機驗證碼 ;
授權成功 ;
終于上傳成功了 :
D:\002_Project\002_Android_Learn\flutter_package>flutter packages pub publish --server=https://pub.dartlang.org Publishing flutter_package_first_demo 0.0.1 to https://pub.dartlang.org: |-- .gitignore |-- .metadata |-- CHANGELOG.md |-- LICENSE |-- README.md |-- lib | '-- flutter_package_first_demo.dart |-- pubspec.yaml '-- test'-- flutter_package_test.dartPublishing is forever; packages cannot be unpublished. Policy details are available at https://pub.dev/policyDo you want to publish flutter_package_first_demo 0.0.1 (y/N)? y Uploading... Successfully uploaded package.D:\002_Project\002_Android_Learn\flutter_package>插件地址是 : https://pub.dev/packages/flutter_package_first_demo
發布插件包坑挺多 : 報錯信息一個接著一個 , 研究了一晚上 ;
- 【錯誤記錄】發布 Flutter 插件包報錯 ( It‘s strongly recommended to include a “homepage“ or “repository“ field )
- 【錯誤記錄】發布 Flutter 插件包報錯 ( Failed to upload the package.pub finished with exit code 1 )
- 【錯誤記錄】發布 Flutter 插件包報錯 ( ‘gmail.com‘ has insufficient permissions to upload new versions of package)
八、博客資源
GitHub 地址 : https://github.com/han1202012/flutter_package
總結
以上是生活随笔為你收集整理的【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【错误记录】发布 Flutter 插件包
- 下一篇: 【Flutter】插件包选择 ( 查看文