官方文檔:https://flutter.dev/docs/development/packages-and-plugins/developing-packages
中文網:https://flutterchina.club/developing-packages/
packages開發:
-
創建dart包
Android Studio:File>New>New Flutter Project>Flutter Package
eg: shadow_text工程
-
實現package(注意編寫文檔註釋, 詳細的文檔語法請參考dartdoc 。
發佈注意:
將項目上傳到GitHub
-
刪除環境變量
-
科學網絡環境
-
設置命令行代理
這種設置方式僅在當前終端有效, 所以要跟發佈命令在同一窗口輸入
set http_proxy=http://127.0.0.1:1080 (根據翻牆設置的端口來寫)
set https_proxy=https://127.0.0.1:1080
-
在發佈之前,檢查
pubspec.yaml
、README.md
以及CHANGELOG.md
文件,以確保其內容的完整性和正確性。
如果是更新版本, CHANGELOG.md中一定要增加版本更新的內容 -
然後,運行 dry-run 命令以查看是否都準備OK了:
flutter packages pub publish --dry-run
驗證無誤後,我們就可以運行發佈命令了:
flutter packages pub publish
驗證界面: 複製全部鏈接並在瀏覽器打開
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hDxkTQ1F-1587917079291)(C:\Users\Elvis\AppData\Roaming\Typora\typora-user-images\image-20200414232716422.png)]
-
發佈結果:
https://pub.flutte-io.cn 直接搜索即可
插件化開發:
plugin與package的對比:
package是原生dart實現
plugin有MethodChnnel, 通常要與原生交互, 如中文網中的獲取手機電量插件, 所以plugin可以看作是特殊的package
發佈流程上, 兩者是一樣的