Flutter 自定義插件(一)

最近工作中遇到Flutter插件的開發(fā)使用,由于當(dāng)前市面上有關(guān)Flutter的相關(guān)文檔很少,所以就困惑了好久,卡在了一個(gè)特別簡(jiǎn)單的問題上,所以我現(xiàn)在趕緊記錄下,別到時(shí)候又給忘記了。
今天我先從創(chuàng)建插件的最開始講。
我用的編輯器是 Android Studio ,版本號(hào)是這個(gè):


image.png

Flutter SDK 版本是 3.0.5,當(dāng)然我們也可以在這里選擇更改Flutter版本號(hào)哦。

插件的創(chuàng)建

我們可以通過兩種方式創(chuàng)建插件,一種是使用IDE創(chuàng)建(Android studio 或者Idea),另一種是通過命令來創(chuàng)建的

使用IDE創(chuàng)建

1.
1661420490077.png

根據(jù)圖中所示的操作,F(xiàn)ile -- New -- New Flutter Porject........;

2.
1661420663150.jpg

選擇Flutter, 然后選擇插件的Flutter sdk 版本號(hào), 點(diǎn)next 下一步;
3.
1661420792841.jpg

編輯Project Name-- 插件名字,Project type -- 下拉選擇 plugin 插件類型, 然后選擇Android,IOS 編輯語言, 點(diǎn)finish 就創(chuàng)建了一個(gè)Flutter 插件項(xiàng)目。

使用命令創(chuàng)建插件

flutter create --org com.example --template=plugin plugin_name
其中 com.example 是插件包名的一部分,plugin_name 是插件的名稱。插件的完整包名為 com.example.plugin_name

插件的目錄結(jié)構(gòu)

當(dāng)我們打開這個(gè)插件項(xiàng)目之后,我們會(huì)發(fā)現(xiàn)他的目錄是這樣的,


1661421205469.jpg

分為4部分,Android , IOS, lib文件夾,example示例demo;Android目錄是一個(gè)完整的Android項(xiàng)目,用來開發(fā)Android端的插件功能;example用來測(cè)試Android端或者IOS端的插件功能,IOS 目錄是一個(gè)完整的IOS項(xiàng)目,用來開發(fā)IOS端的插件功能;lib目錄中的文件負(fù)責(zé)和Android 或者Ios端的交互。

劃重點(diǎn)了喲!當(dāng)你的Android studio版本是這個(gè),目前最新的版本,


image.png

這時(shí)你就會(huì)發(fā)現(xiàn)打開Android目錄下自動(dòng)生成的plugin文件都報(bào)錯(cuò),io.flutter包下面的文件都找不到,


1661501184511.png

我覺得找不到的原因可能是studio,gradle 版本不同導(dǎo)致的,(因?yàn)槲彝碌膕tudio版本比我的低,就不報(bào)錯(cuò),)這樣的話,我就得純粹的手寫,它一點(diǎn)都不提示代碼,也不知道哪里寫的是錯(cuò)誤的,只有當(dāng)我運(yùn)行的時(shí)候他才提示我錯(cuò)誤,這豈不是很煩人。

這個(gè)就困惑了我半天,后來咨詢了一個(gè)Flutter資深的小伙伴, 他說,我們需要運(yùn)行example 示例demo下的Android來進(jìn)行開發(fā),因?yàn)楸旧聿寮褪且栏皆趀xample 示例代碼中的來測(cè)試運(yùn)行 的,所以當(dāng)你打開運(yùn)行example 下的Android時(shí),你會(huì)發(fā)現(xiàn),插件下的Android目錄也會(huì)顯示存在。


image.png

image.png

這時(shí)就可以導(dǎo)入包,正常的進(jìn)行編輯啦!

最后編輯于
?著作權(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)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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