最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
flutter不火,flutter 不看好

2022-04-22iOS項(xiàng)目混編flutter,iOS真機(jī)debug模式下打不開flutter頁(yè)面

最近項(xiàng)目中要集成flutter來進(jìn)行混編,但是在集成后,突然遇到一個(gè)很神奇的問題,在debug模式下,用數(shù)據(jù)線連接真機(jī)打包可以打開flutter頁(yè)面,但是一旦拔掉數(shù)據(jù)線,再打開flutter頁(yè)面就不行了,開始以為是因?yàn)閒lutterSDK的原因,但是一查資料才發(fā)現(xiàn),原來是因?yàn)閐ebug模式下flutter實(shí)現(xiàn)了熱重載,默認(rèn)的編譯方式是JIV,但是iOS14+之后的系統(tǒng)限制了JIV這種編譯方式,所以連接Xcode重新run一個(gè)release包就可以了,因?yàn)閒lutter在release模式下的編譯方式是AOT,iOS14+的系統(tǒng)是支持這種編譯方式的,具體解決方案如下圖

成都創(chuàng)新互聯(lián)于2013年開始,先為承留等服務(wù)建站,承留等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為承留企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

再運(yùn)行就可以了。

當(dāng)然還有另外一種解決方案,就是修改flutter的編譯配置,強(qiáng)制設(shè)為release

flutter為什么不推薦getx

使用這個(gè)版本的GetX寫了Demo之后,發(fā)現(xiàn)有幾個(gè)問題:

感覺不太像是穩(wěn)定版本,存在一些比較明顯的問題;而且2.0.6到2.0.7只是一個(gè)小版本,全局狀態(tài)管理邏輯似乎就有比較大的改動(dòng)。

不支持響應(yīng)式編程,這個(gè)版本的狀態(tài)管理還是基于state的邏輯;因?yàn)橄胍容^高效的解耦頁(yè)面和邏輯,可能需要搭配響應(yīng)式編程框架。

相關(guān)功能可能比較少,沒有最新版本的功能那么全面。

Flutter是Google開源的構(gòu)建用戶界面(UI)工具包,幫助開發(fā)者通過一套代碼庫(kù)高效構(gòu)建多平臺(tái)精美應(yīng)用,支持移動(dòng)、Web、桌面和嵌入式平臺(tái)。

Flutter 開源、免費(fèi),擁有寬松的開源協(xié)議,適合商業(yè)項(xiàng)目。Flutter已推出穩(wěn)定的2.0版本。

產(chǎn)生背景:

Flutter可以方便的加入現(xiàn)有的工程中。在全世界,F(xiàn)lutter 正在被越來越多的開發(fā)者和組織使用,并且 Flutter是完全免費(fèi)、開源的。它也是構(gòu)建未來的 Google Fuchsia 應(yīng)用的主要方式。

Flutter組件采用現(xiàn)代響應(yīng)式框架構(gòu)建,這是從React中獲得的靈感,中心思想是用組件(widget)構(gòu)建你的UI。

組件描述了在給定其當(dāng)前配置和狀態(tài)時(shí)他們顯示的樣子。當(dāng)組件狀態(tài)改變,組件會(huì)重構(gòu)它的描述(description),F(xiàn)lutter 會(huì)對(duì)比之前的描述, 以確定底層渲染樹從當(dāng)前狀態(tài)轉(zhuǎn)換到下一個(gè)狀態(tài)所需要的最小更改。

Flutter升級(jí)之后項(xiàng)目不能運(yùn)行

flutter運(yùn)行之后報(bào)了這個(gè)錯(cuò),不能夠運(yùn)行。

在結(jié)果上面會(huì)提示appt2等錯(cuò)誤,其實(shí)錯(cuò)誤的原因是Androidx支持有問題。

官方解決辦法: (合理打開)

app/build.gradle 下面

在gradle.properties下添加:

重新清理運(yùn)行,ok。

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工程引入的庫(kù)的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庫(kù),他們分別是 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)然如果本篇文章幫助你解決了問題,也不要吝嗇你的感謝。謝謝各位。


分享名稱:flutter不火,flutter 不看好
文章源于:http://fisionsoft.com.cn/article/dsdpiie.html