Flutter Packages(plugin插件)開(kāi)發(fā)上傳私有庫(kù)

packages開(kāi)發(fā)上傳私有庫(kù)

一、開(kāi)發(fā)插件包

Step 1: 開(kāi)發(fā)Dart包
要?jiǎng)?chuàng)建Dart包,請(qǐng)使用--template=package 來(lái)執(zhí)行 flutter create

flutter create --template=package hello

Step 2: 實(shí)現(xiàn)package
對(duì)于純Dart包,只需在主lib/<package name>.dart文件內(nèi)或lib目錄中的文件中添加功能 。

開(kāi)發(fā)插件包

如果你想開(kāi)發(fā)一個(gè)調(diào)用特定平臺(tái)API的包,你需要開(kāi)發(fā)一個(gè)插件包, 插件包包含針對(duì)Android(Java或Kotlin代碼)或iOS(Objective-C或Swift代碼)編寫(xiě)的特定于平臺(tái)的實(shí)現(xiàn)(可以同時(shí)包含Android和Ios原生的代碼)。 API使用platform channels連接到特定平臺(tái)(Android或IOS)。

Step 1: 創(chuàng)建 package
要?jiǎng)?chuàng)建插件包,請(qǐng)使用--template=plugin參數(shù)執(zhí)行flutter create

使用--org選項(xiàng)指定您的組織,并使用反向域名表示法。該值用于生成的Android和iOS代碼中的各種包和包標(biāo)識(shí)符。

flutter create --org com.example --template=plugin --platforms=android,ios -i objc hello

Step 2: 實(shí)現(xiàn)包 package
由于插件包中包含用多種編程語(yǔ)言編寫(xiě)的多個(gè)平臺(tái)的代碼,因此需要一些特定的步驟來(lái)確保順暢的體驗(yàn)。

Step 2a: 定義包API(.dart)
插件包的API在Dart代碼中定義。打開(kāi)主文件夾hello/ 。找到lib/hello.dart

Step 2b: 添加Android平臺(tái)代碼(.java / .kt)
我們建議您使用Android Studio編輯Android代碼。

在A(yíng)ndroid Studio中編輯Android平臺(tái)代碼之前,首先確保代碼至少已經(jīng)構(gòu)建過(guò)一次(例如,從IntelliJ運(yùn)行示例應(yīng)用程序或在終端執(zhí)行cd hello/example; flutter build apk)

接下來(lái)

1、啟動(dòng)Android Studio
2、在’Welcome to Android Studio’對(duì)話(huà)框選擇 ‘Import project’, 或者在菜單欄 ‘File > New > Import Project…‘,然后選擇hello/example/android/build.gradle文件.
3、在’Gradle Sync’ 對(duì)話(huà)框, 選擇 ‘OK’.
4、在’Android Gradle Plugin Update’ 對(duì)話(huà)框, 選擇 ‘Don’t remind me again for this project’.
您插件的Android平臺(tái)代碼位于 hello/java/com.yourcompany.hello/HelloPlugin.

您可以通過(guò)按下 ? 按鈕從Android Studio運(yùn)行示例應(yīng)用程序.

Step 2c: 添加iOS平臺(tái)代碼 (.h+.m/.swift)
我們建議您使用Xcode編輯iOS代碼 。

在編輯Xcode中的iOS平臺(tái)代碼之前,首先確保代碼至少已經(jīng)構(gòu)建過(guò)一次(例如,從Xcode中運(yùn)行示例應(yīng)用程序或終端執(zhí)行cd hello/example; flutter build ios --no-codesign)。

接下來(lái)

1、啟動(dòng) Xcode
2、選擇 ‘File > Open’, 然后選擇 hello/example/ios/Runner.xcworkspace 文件.
您插件的iOS平臺(tái)代碼位于Pods/DevelopmentPods/hello/Classes/中。

您可以通過(guò)按下&#9654按鈕來(lái)運(yùn)行示例應(yīng)用程序

Step 2d: 連接API和平臺(tái)代碼
最后,您需要將用Dart代碼編寫(xiě)的API與平臺(tái)特定的實(shí)現(xiàn)連接起來(lái)。這是通過(guò)platform channels完成的。

二、上傳插件

1、運(yùn)行 dry-run 命令以查看是否都準(zhǔn)備OK了:

flutter packages pub publish --dry-run

開(kāi)發(fā)好的插件上傳到git添加tag(或者使用commit)

三、使用packages

yaml文件中添加

dependencies:
  flutter:
    sdk: flutter

  hello:
   git:
     url: https://e.coding.net/superfool/flutter_demo/flutter_demo.git(這個(gè)是你Git的地址)
     ref: 655f2ef
  hello_3:
   git:
     url: https://e.coding.net/superfool/hello_3/hello_3.git
     ref: 35c16bc
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容