Flutter接觸時間也不短了,從零到一在快樂平安項目上線,再到后面的優(yōu)化完善迭代,安卓端基本是一個人完成,中間加了無數(shù)班,遇到了很多問題,到最后基本都解決了,其中的幸酸只有自己知道。
感謝19年-20年的自己當(dāng)時沒有放棄,保持繼續(xù)拼!
自己攻克的點
- moudle模式運行,兼容Application模式運行
背景:IOS端組件化方案,需要.framework產(chǎn)物直接打包就可以,而安卓端要Application模式因為會有一些自定義的腳本文件配置,如果使用moudle默認(rèn),每次執(zhí)行flutter clean命令都會被刪除掉,于是有了兼容方案。
2.安卓項目比較老,比較大,支持的armeabi 這種CPU類型
Flutter打出來的產(chǎn)物根本沒有現(xiàn)在網(wǎng)上可能一堆方案了,但是在19年大概6月份的時候,這個方案,我?guī)缀跽伊艘粋€星期,哪怕有一點點思路的方案,我都去試了,還好是自己的堅持,對cpu類型不太熟悉,就去學(xué),對flutter打包產(chǎn)物原理不懂,去查源碼。
3.項目不斷迭代,原生的很多新接口都要求要PB類型。dio 3.X 怎么支持,首先是找他們的官網(wǎng),沒有說,提的Issue回復(fù)是暫不支持,別的論壇當(dāng)時也是暫不支持。對照原生、Flutter 抓包,斷點 看到明明回來的二進(jìn)制是一樣的,相當(dāng)于請求是回來了,但是類型不知道怎么轉(zhuǎn)換。估計折磨了半個月吧,還是硬著頭皮去啃了源碼。最終實現(xiàn)。會了后發(fā)現(xiàn)這么簡單,為啥當(dāng)時不知道,因為這個場景比較小眾,很多人可能都不會想到這上面。
臨時方案
后面有時間再詳細(xì)謝謝吧!先上一張圖!
Flutter.png