選擇一個aar文件,我這里用DynamsoftBarcodeReader.aar。
創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有十載的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),1000多家客戶的共同信賴。提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站開發(fā)、網(wǎng)站定制、買友情鏈接、建網(wǎng)站、網(wǎng)站搭建、成都響應(yīng)式網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)
把目錄flutter/examples/hello_services/android/導(dǎo)入到Android Studio中。
點(diǎn)擊File New New Module,選擇Import .JAR/.AAR Package,添加AAR文件。打開工程屬性,添加依賴模塊就可以了。
Flutter 版本1.17.1
flutter build aar
這種方式打出來的aar包并沒有把第三方插件打入aar中,只是將第三方插件依賴到本地的倉庫,所以不太適用共同開發(fā)
使用Fat-aar插件可以將第三方的插件和flutter 相關(guān)的東西合并到一個aar中
1 添加aar包到Android libs目錄下
2 在build.gradle 文件中添加依賴
flatDir{
dirs project(':插件名').file('libs')
}
compile(name:'包名',ext:'aar')
之前開發(fā)了一個純Flutter的項(xiàng)目,結(jié)果接到個新的需求需要使用Flutter單獨(dú)開一個模塊集成到原有的android項(xiàng)目中
下面分享一下如何集成現(xiàn)有的項(xiàng)目和如何繼承以及碰到的問題
1.首先第一步 修改gradle
因?yàn)?Flutter 當(dāng)前僅支持為 x86_64,armeabi-v7a 和 arm64-v8a 構(gòu)建預(yù)編(AOT)的庫 所以我們需要修改gradle的文件限制 APK 中支持的架構(gòu),從而避免 libflutter.so找不到引起的崩潰
2.新建一個FlutterModel的工程
2.使用aar文件 因?yàn)樗泄こ探y(tǒng)一使用jenkins打包所以我們放在本地肯定是不合適的
說以我們需要 打包aar并上傳服務(wù)器
上傳完成后在android中引用
在開發(fā)中遇到的問題
1.關(guān)于android和Ios中的跳轉(zhuǎn)傳參問題
這個問題在android端還是比較方便的 但是的在Ios端并不怎么好實(shí)現(xiàn)
最終決定使用flutter_boost來完成android和Ios與Flutter的通信操作
flutter_boost github地址:
集成文檔:
集成文檔給出了 但是沒有android的 尷尬
下滿分享下android的集成
(1)在flutter的 pubspec.yaml工程中添加
(2)修改android工程
使用本地工程的時候需要在工程共添加
使用aar的時候不需要添加
(3)在android工程中添加對應(yīng)的條狀路由配置
(4)在使用默認(rèn)的flutter_boost啟動界面的時候可能碰到狀態(tài)欄丟失的情況
所以最好集成BoostFlutterActivity寫一個新的activity方便處理狀態(tài)欄和activity進(jìn)出動畫
(5)跳轉(zhuǎn)并傳參
//params 傳多個參數(shù)可以使用json的形式
2.在flutter中的網(wǎng)絡(luò)框架使用的dio結(jié)果在ios的彈出loading的時候出現(xiàn)卡頓現(xiàn)象
解決方式:1.服務(wù)換證書 (但是后臺太忙暫時沒有支持的人員)
2.ios使用原生的loading解決
3.在使用dio的時候出現(xiàn)ios部分手機(jī) 網(wǎng)絡(luò)請求緩慢問題
解決方法:請求的時候使用http 2.0協(xié)議
插件地址: