Android如何在原生App中嵌入Flutter
本文參考文檔Add Flutter to existing apps。
首先有一個可以運行的原生項目
第一步:新建Flutter moduleTerminal進(jìn)入到項目根目錄,執(zhí)行flutter create -t module ‘module名字’例如:flutter create -t module flutter-native
執(zhí)行完畢,就會發(fā)現(xiàn)項目目錄下生成了一個module
進(jìn)入到新生成的Flutter module目錄下的.android目錄下,命令是cd .android/,然后執(zhí)行g(shù)radlew flutter:assembleDebug,mac下./gradlew flutter:assembleDebug
這過程根據(jù)網(wǎng)絡(luò)情況,可能有點長。
結(jié)束之后在.android/Flutter/build/outputs/aar/目錄下會生成flutter-debug.aar
在app的build.gradle文件中加入:
compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 }
在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: 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)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明3. CSS hack用法案例詳解4. PHP設(shè)計模式中工廠模式深入詳解5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP+ajax實現(xiàn)頂一下、踩一下同支持與反對的實現(xiàn)代碼7. JSP數(shù)據(jù)交互實現(xiàn)過程解析8. ThinkPHP5實現(xiàn)JWT Token認(rèn)證的過程(親測可用)9. asp中response.write("中文")或者js中文亂碼問題10. PHP session反序列化漏洞超詳細(xì)講解
