Android工程接入Flutter module
該篇文章介紹在已有Android工程中嵌入flutter module,以達到混合開發
建立Flutter module
在當前project下 執行命令
flutter create -t module my_flutter( my_flutter為生成的flutter module名稱)
增加配置程式碼
(1) 在工程的settings.gradle增加以下配置

(2)在app (假如你的Android應用名稱為app)的build.gradle檔案下dependencies增加如下依賴

其中flutter工程為建立Flutter module過程自動生成的
在Android工程中建立Flutter的UI(呼叫Flutter中的dart編寫的widget)
Flutter提供兩種方法引入,一種是View,一種是Fragment,View如下

其中,第二個引數是Lifecycle物件, 第三個引數為route,這個引數Flutter端可以通過 window.defaultRouteName 獲取,利用它flutter可知道要建立哪個widget.
同理 Flutter.createFragment(String route)可生成FlutterFragment
Flutter module支援hot reload (熱過載)
進入到flutter module目錄下
執行命令 flutter attach 即可
簽名打包
引入Flutter module後,對原生工程構建基本沒影響,按常規操作即可, 編譯模式可參考之前我寫的文章Flutter編譯模式
這裡說明的一點是 原生工程的minSdkVersion 為16, 低於16會報錯表示不支援flutter