日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )

發(fā)布時間:2025/6/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、開發(fā) Dart 包內(nèi)容
  • 二、配置 pubspec.yaml
  • 三、編寫 Dart 包使用說明
  • 四、編寫 Dart 包授權(quán)許可
  • 五、設(shè)置版本變更記錄
  • 六、驗證 Dart 包正確性
  • 七、將 Dart 包推送到中央倉庫中
  • 八、博客資源

前言

上一篇博客 【Flutter】開發(fā) Flutter 包和插件 ( Flutter 包和插件簡介 | 創(chuàng)建 Flutter 插件 | 創(chuàng)建 Dart 包 ) 三、創(chuàng)建 Dart 包
1、Android Studio 中可視化創(chuàng)建 中 , 創(chuàng)建了 Dart 包 ;

本篇博客中 , 開發(fā)該 Dart 包 , 并將其發(fā)布到 Flutter 公共倉庫中 ;





一、開發(fā) Dart 包內(nèi)容



創(chuàng)建完畢之后 , 自動生成了一個 flutter_package.dart 源碼文件 , 內(nèi)容是

library flutter_package;/// A Calculator. class Calculator {/// Returns [value] plus 1.int addOne(int value) => value + 1; }

實現(xiàn)了一個簡單計算功能 , 導(dǎo)入該包后 , 調(diào)用 addOne 方法 , 就會將傳入的參數(shù) +1 返回 ;

這里保持不變 ;





二、配置 pubspec.yaml



在 pubspec.yaml 中配置該項目 :

# Dart 包名稱 name: flutter_package # 描述 description: A new Flutter project. # 版本號 version: 0.0.1 # 主頁 , 一般是 GitHub 的地址 homepage:# 所需的環(huán)境 environment:sdk: ">=2.12.0 <3.0.0"flutter: ">=1.17.0"# 依賴關(guān)系 dependencies:flutter:sdk: flutter





三、編寫 Dart 包使用說明



一般在 Flutter 包中央倉庫中 , 搜索到某個 Flutter 包或插件 , 顯示的內(nèi)容就是 Flutter 包 / 插件的工程根目錄的 README.md 文檔 ;

一般將插件的使用說明 , 寫在該文檔中 ;





四、編寫 Dart 包授權(quán)許可



修改根目錄下的 LICENSE 許可 ;

隨便找個 Flutter 插件 , 復(fù)制一份即可 ;

該協(xié)議不是必須的 ;





五、設(shè)置版本變更記錄



在 CHANGELOG.md 中 , 設(shè)置每個版本的變更記錄 , 具體就是某個版本更新后 , 更新了哪些內(nèi)容 , 修改了哪些內(nèi)容 ;





六、驗證 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 包推送到中央倉庫中



執(zhí)行如下命令 , 將 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...

選擇了要登錄的賬號后 , 需要進行手機驗證 ;

輸入手機驗證碼 ;

授權(quán)成功 ;

終于上傳成功了 :

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


發(fā)布插件包坑挺多 : 報錯信息一個接著一個 , 研究了一晚上 ;

  • 【錯誤記錄】發(fā)布 Flutter 插件包報錯 ( It‘s strongly recommended to include a “homepage“ or “repository“ field )
  • 【錯誤記錄】發(fā)布 Flutter 插件包報錯 ( Failed to upload the package.pub finished with exit code 1 )
  • 【錯誤記錄】發(fā)布 Flutter 插件包報錯 ( ‘gmail.com‘ has insufficient permissions to upload new versions of package)





八、博客資源



GitHub 地址 : https://github.com/han1202012/flutter_package

總結(jié)

以上是生活随笔為你收集整理的【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。