Android如何在原生App中嵌入Flutter
本文參考文檔Add Flutter to existing apps。
首先有一個可以運(yùn)行的原生項(xiàng)目
第一步:新建Flutter module
Terminal進(jìn)入到項(xiàng)目根目錄,執(zhí)行flutter create -t module ‘module
名字'例如:flutter create -t module flutter-native
執(zhí)行完畢,就會發(fā)現(xiàn)項(xiàng)目目錄下生成了一個module
第二步:同步Flutter module依賴
進(jìn)入到新生成的Flutter module目錄下的.android目錄下,命令是cd .android/
,然后執(zhí)行gradlew flutter:assembleDebug
,mac下./gradlew flutter:assembleDebug
這過程根據(jù)網(wǎng)絡(luò)情況,可能有點(diǎn)長。
結(jié)束之后在.android/Flutter/build/outputs/aar/
目錄下會生成flutter-debug.aar
第三步:設(shè)置JDK版本
在app的build.gradle文件中加入:
compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 }
第四步:依賴Flutter module
在settings.gradle
中加入
include ':app' setBinding(new Binding([gradle: this])) evaluate(new File( settingsDir.parentFile, 'FlutterNativeApplication/flutter_native/.android/include_flutter.groovy' ))
注意:最后一個參數(shù)最好寫全路徑!
在app/build.gradle中
dependencies { …… implementation project(':flutter') }
到此準(zhǔn)備過程結(jié)束,寫代碼測試一下,我使用的是Fragment方式。當(dāng)然也有View的方式。
MainActivity.kt ↓
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) supportRequestWindowFeature(Window.FEATURE_NO_TITLE) setContentView(R.layout.activity_main) val tx = supportFragmentManager.beginTransaction() tx.replace(R.id.content, Flutter.createFragment("route")) tx.commit() } }
activity_main.xml ↓
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <FrameLayout android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent"></FrameLayout> </android.support.constraint.ConstraintLayout>
以上就是Android如何在原生App中嵌入Flutter的詳細(xì)內(nèi)容,更多關(guān)于Android 原生App中嵌入Flutter的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
android開發(fā)修改狀態(tài)欄背景色和圖標(biāo)顏色的示例
本篇文章主要介紹了android開發(fā)修改狀態(tài)欄背景色和圖標(biāo)顏色的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01Flutter?Widget之FutureBuilder使用示例詳解
這篇文章主要為大家介紹了Flutter?Widget之FutureBuilder使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android?Studio?Electric?Eel支持手機(jī)投屏
這篇文章主要為大家介紹了Android?Studio?Electric?Eel支持手機(jī)投屏功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05android使用ViewPager組件實(shí)現(xiàn)app引導(dǎo)查看頁面
這篇文章主要為大家詳細(xì)介紹了android使用ViewPager組件實(shí)現(xiàn)app引導(dǎo)查看頁面,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Android Loader的使用以及手機(jī)通訊錄的獲取方法
下面小編就為大家分享一篇Android Loader的使用以及手機(jī)通訊錄的獲取方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01