集成FlutterBoost

在Flutter發佈了1.12版本之後 , 在原生程序中集成flutter的方式也有了改變 , 於是重新走一遍流程.

本次操作基於以下版本:

Flutter 1.12.13+hotfix.5 • channel stable
Android Studio 3.6

Android集成Flutter的意義

有時一次全部在Flutter中重寫整個應用程序是不切實際的。在這種情況下,Flutter可以作爲庫或模塊集成到現有的應用程序中。然後可以將該模塊導入到Android或iOS(當前受支持的平臺)應用中,以在Flutter中呈現應用UI的一部分。或者僅運行共享的Dart邏輯。

通過Android Studio來集成Flutter

創建一個原生Android應用

當然如果你已經有現成的App準備嵌入Flutter,也可以使用, 但我還是建議再創建一個應用來走一遍流程,
我這裏直接新建了一個文件夾 , 在該文件夾內新建了一個Android應用.
目錄爲:
FlutterBoostDemo \ AndroidBoost

限制支持的架構

Flutter當前僅支持爲armeabi-v7a和arm64-v8a AOT編譯的庫。
使用abiFilters Android Gradle插件API來限制APK中支持的架構。
這樣做可以避免丟失libflutter.so運行時崩潰,例如
在原生項目的app\build.gradle中添加以下代碼:
在這裏插入圖片描述
### 支持java8
因爲Flutter使用了Java8的功能, 所以這裏我們的原生Android應用也要支持java8.
在這裏插入圖片描述

創建flutter module

如果沒有flutter module, 可以在這裏選擇下面的選項,
否則的話可以選擇import Flutter Module 來導入你自己的flutter module
在這裏插入圖片描述在這裏插入圖片描述
編譯過程完成之後, 會在Android應用的下級目錄下生成一個flutter_module的文件夾:
FlutterBoostDemo\AndroidBoost\flutter_module_boost

通過這種方式創建的mudule, Android Studio插件會自動將您的Android項目配置爲添加Flutter模塊作爲依賴項,並且App也會重新編譯完成。

現在Andoid Studio顯示的樣子是這樣的:

看到左上角這個Android了嗎? 如果這個視窗下看不到flutter項目的話,就切換到Project Files視窗下.

突然發現如果使用Android Studio 需要我們做的很少 , 如果是要手動來引入的話,就會複雜的多.
可以參考一下內容:官方的手動集成教程

如果新建的flutter module無法build 提示如下的話:
在這裏插入圖片描述
可以修改settings.gradle:

在這裏插入圖片描述

集成FlutterBoost

在Flutter項目中添加依賴項。
打開pubspec.yaml並將以下行添加到依賴項:

androidx branch

flutter_boost:
    git:
        url: 'https://github.com/alibaba/flutter_boost.git'
        ref: '1.12.13'

support branch

flutter_boost:
    git:
        url: 'https://github.com/alibaba/flutter_boost.git'
        ref: 'task/task_v1.12.13_support_hotfixes'

推薦使用androidx分支 , 所以這裏我依賴的是上面的.

在app的build.grade中添加依賴:
在這裏插入圖片描述
OK,到這裏就已經完成了FlutterBoost的集成了,下面就是一些路有跳轉和參數傳遞相關的東西了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章