免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

flutter集成nfc,Flutter集成小程序

Flutter 集成第三方藍(lán)牙庫(kù)踩坑記錄

最近在寫(xiě)flutter應(yīng)用,需要集成藍(lán)牙功能,用了一個(gè)第三方的庫(kù),踩了一些坑,做一下記錄。

創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、淳安網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作商城開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為淳安等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

這是庫(kù)的地址 PhilipsHue/flutter_reactive_ble: Flutter library that handles BLE operations for multiple devices. (github.com)

安卓主要的坑就是,在使用藍(lán)牙功能的時(shí)候,需要獲取定位權(quán)限,這個(gè)需要?jiǎng)討B(tài)獲取。

集成之后,編譯出錯(cuò),提示Swift Compiler Error。

(1)首先嘗試,修改對(duì)應(yīng)三方庫(kù)的Swift編譯版本。

我這邊嘗試修改,沒(méi)有成功。

(2) 沒(méi)辦法,我這邊手動(dòng)修改三方庫(kù)的源碼文件,進(jìn)行修復(fù)。重新編譯成功。

其他問(wèn)題

Xcode 項(xiàng)目集成flutter

一、cocopods版本升到1.10.0以上

二、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語(yǔ)句,在target do下install;

3.執(zhí)行pod install;

4.修改AppDelegate為FlutterAppDelegate;

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

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

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

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

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

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

但是有一點(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ì)遇見(jiàn)找不到 libflutter.so,libapp.so 的情況,所以我們需要對(duì)FlutterSDK做一定的改造。

首先我們要了解下Flutter編譯產(chǎn)物,因?yàn)椴煌姹井a(chǎn)物是不同的,這里我們只針對(duì)Flutter 1.9.1-hotfixes來(lái)說(shuō)。除了資源文件之外,F(xiàn)lutter打包會(huì)生成兩個(gè)非常重要的so庫(kù),他們分別是 libflutter.so,libapp.so 。其中 libflutter.so 是Flutter的SDK產(chǎn)物而 libapp.so 正是我們編寫(xiě)的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)行以下腳本即可,此腳本來(lái)自美團(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

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

說(shuō)完了armeabi適配問(wèn)題,這里下說(shuō)下有關(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過(guò)程中,會(huì)去初始化插件項(xiàng)目的buildType下面的debug配置,而插件項(xiàng)目下并未配置debug,導(dǎo)致報(bào)錯(cuò)。

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

ios flutter 混編

最近在集成flutter進(jìn)項(xiàng)目

以收集編譯產(chǎn)物并以cocopods方式集成

產(chǎn)物大概放入兩個(gè)pod庫(kù)

這個(gè)暫且叫pod1,pod1放flutter.framework,第三方plugin.a,自己寫(xiě)的基礎(chǔ)plugin,比如networking,hud等等(由于是混編,不可避免存在很多原生基礎(chǔ)組件,所以能公用的基礎(chǔ)組件都會(huì)弄一個(gè)flutter-plugin橋接)

第二個(gè)pod2放編譯之后的app.framwork,注冊(cè)文件GeneratedPluginRegistrant,以及各個(gè)業(yè)務(wù)模塊.a(有可能沒(méi)有)結(jié)構(gòu)大概如下面

podspec大概如下

主工程引入這兩個(gè)pod庫(kù)即可

接下來(lái)從零開(kāi)始搭建上文所說(shuō)的

先創(chuàng)建一個(gè)flutter module

這個(gè)是主flutter工程,用來(lái)集成businessModule以及生成app.framework

結(jié)構(gòu)如下圖

再生成一個(gè)業(yè)務(wù)工程

注意此時(shí)還需要進(jìn)入example生成ios和Android工程,不然無(wú)法單獨(dú)編譯運(yùn)行

這樣 這個(gè)單獨(dú)的業(yè)務(wù)模塊就可以單獨(dú)跑起來(lái)了

此時(shí)主flutter工程和業(yè)務(wù)工程均搭建完畢

在主工程pubspec.ymal文件講兩個(gè)工程關(guān)聯(lián)

好了 接下來(lái)就是編寫(xiě)腳本收集產(chǎn)物了

編譯完成之后會(huì)在flutter主工程product生成如下文件

將上面文件分類收集做成文章開(kāi)頭的pod1,pod2 ,在native工程引入即可

在集成flutter的過(guò)程中 踩不少坑 也閱讀很多前輩的文章,在此一并感謝

分享題目:flutter集成nfc,Flutter集成小程序
文章出自:http://m.newbst.com/article20/dssgoco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷品牌網(wǎng)站制作做網(wǎng)站ChatGPT自適應(yīng)網(wǎng)站網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)