日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
flutter集成,Flutter集成vue

Xcode 項(xiàng)目集成flutter

一、cocopods版本升到1.10.0以上

成都創(chuàng)新互聯(lián)專注于啟東網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供啟東營銷型網(wǎng)站建設(shè),啟東網(wǎng)站制作、啟東網(wǎng)頁設(shè)計(jì)、啟東網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造啟東網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供啟東網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

二、podfile添加這些(flutter_module路徑和.git路徑相同)

三、命令行cd到?flutter_module 下,執(zhí)行?flutter pub get?

四、pod下面添加“ ?install_framework "${PODS_ROOT}/../../flutter_module/.ios/Flutter/App.framework" ?”?

iOS(Swift版)Flutter集成關(guān)鍵步驟

1.在項(xiàng)目目錄執(zhí)行 flutter create -t module XXX(flutter模塊名) ;

2.修改Podfile,設(shè)置path,關(guān)聯(lián)podhelper.rb,注意采用 load File.join() ,不采用之前的eval語句,在target do下install;

3.執(zhí)行pod install;

4.修改AppDelegate為FlutterAppDelegate;

5.初始化并注冊(cè)FlutterEngine;

6.vscode里flutter attach實(shí)時(shí)調(diào)試;

做完這些正常開發(fā)是可以了,至于打包需要更改什么再續(xù)。

Flutter集成子module聯(lián)調(diào)的解決方案

這里我們以錢包項(xiàng)目舉例

我們先建一個(gè)文件夾 Wallets 用來存放所有錢包項(xiàng)目需要聯(lián)調(diào)的 Module 。如下圖我們將所有需要聯(lián)調(diào)的 Module 都存放到 Wallets 文件夾中。

做好上面的上面的準(zhǔn)備后,我們用AS打開Wallets 文件夾,此時(shí)AS導(dǎo)航欄側(cè)我們看到所有需要聯(lián)調(diào)的子Module都在這里了

這時(shí)我們看到AS找不我們的入口文件

所以我們需要給AS設(shè)置一下,告訴AS我們的入口文件在哪里,點(diǎn)擊上圖紅框選中的部分彈出下面的對(duì)話框

點(diǎn)擊上圖中箭頭指向的+,彈出下面對(duì)話框

選擇展開所有列表,選中Flutter,如下圖所示

在彈出的對(duì)話框中按圖中標(biāo)注的操作

在彈出的對(duì)話框中按圖中標(biāo)注的操作

上面操作都完成之后回到下面的對(duì)話框可以看到Fix已經(jīng)沒有了,然后再按下圖中所示操作

都操作好后就回到了AS開發(fā)主界面了,可以看到主界面上的入口文件已經(jīng)顯示了,運(yùn)行按鈕也可以點(diǎn)擊了

Flutter Android端集成排坑 - armeabi 適配 & FlutterBoost

Flutter可以算是當(dāng)下最火熱的新技術(shù)之一,我現(xiàn)在所在團(tuán)隊(duì)也準(zhǔn)備將Flutter技術(shù)應(yīng)用到線上工程中。

關(guān)于混合工程,官方文檔其實(shí)寫的已經(jīng)比較清楚了,按著文檔走一般問題不大,

但是有一點(diǎn)值得注意的是,F(xiàn)lutter工程引入的庫的gradle的 buildTypes 要與原工程保持一致,如果不一致需要手工添加。

進(jìn)入正題,現(xiàn)在Flutter官方默認(rèn)只提供armeabi-v7a、arm64-v8a、x86和x86-64,其中x86和x86-64是為模擬器準(zhǔn)備的。目前我們使用的SDK大部分只使用了armeabi架構(gòu),直接使用我們會(huì)遇見找不到 libflutter.so,libapp.so 的情況,所以我們需要對(duì)FlutterSDK做一定的改造。

首先我們要了解下Flutter編譯產(chǎn)物,因?yàn)椴煌姹井a(chǎn)物是不同的,這里我們只針對(duì)Flutter 1.9.1-hotfixes來說。除了資源文件之外,F(xiàn)lutter打包會(huì)生成兩個(gè)非常重要的so庫,他們分別是 libflutter.so,libapp.so 。其中 libflutter.so 是Flutter的SDK產(chǎn)物而 libapp.so 正是我們編寫的dart文件的產(chǎn)物。默認(rèn)情況下,這兩個(gè)文件都會(huì)出現(xiàn)在armeabi-v7a中,因此我們要作出對(duì)應(yīng)的改造。

libflutter.so 位于FlutterSDK中,這里順帶提一句,除了這對(duì)不同CPU架構(gòu),它還分為Debug版和Release版,它們的區(qū)別在于Debug是為JIT編譯方式打造的,體積較大而Release是為AOT編譯方式打造的,體積很小。對(duì) libflutter.so 的改造,只要將其移動(dòng)文件路徑即可,運(yùn)行以下腳本即可,此腳本來自美團(tuán)分享的Flutter文章。

移動(dòng)完了 libflutter.so 之后我們打包發(fā)現(xiàn), libapp.so 仍然會(huì)出現(xiàn)在armeabi-v7a中,所以第二部我們就是移動(dòng) libapp.so 。這個(gè)需要更改 flutter.gradle ,我們?cè)?flutter.gradle 的45行可以看到如下定義,它定義了我們的環(huán)境。

在524行我們可以看到,abiValue的取值就是根據(jù)上述定義值。

所以結(jié)論很簡(jiǎn)單,只要將

private static final String ARCH_ARM32 = "armeabi-v7a";

改為

private static final String ARCH_ARM32 = "armeabi";

就可以完成對(duì)與 libflutter.so 的移動(dòng)。

前期工作我們都做好了,打成aar就非常簡(jiǎn)單了

直接使用 flutter build aar --target-platform android-arm

打出來后可以解壓檢查下 libflutter.so,libapp.so 是否都在armeabi文件夾下即可。

說完了armeabi適配問題,這里下說下有關(guān)于有關(guān)于FlutterBoost的接入。這個(gè)東西接入有兩點(diǎn)要注意。

在主app內(nèi)加上即可,常規(guī)操作,強(qiáng)制統(tǒng)一support包的版本號(hào)

注釋flutter.gradle第655行。因?yàn)榫幾g過程中,會(huì)去初始化插件項(xiàng)目的buildType下面的debug配置,而插件項(xiàng)目下并未配置debug,導(dǎo)致報(bào)錯(cuò)。

如果發(fā)現(xiàn)文章中有錯(cuò)誤或者有更好的解決方案歡迎指正留言,當(dāng)然如果本篇文章幫助你解決了問題,也不要吝嗇你的感謝。謝謝各位。


網(wǎng)站題目:flutter集成,Flutter集成vue
地址分享:http://www.dlmjj.cn/article/dsijiso.html