这篇文章主要讲解了“Android怎么在原生App中嵌入Flutter”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么在原生App中嵌入Flutter”吧!
本文参考文档Add Flutter to existing apps。
首先有一个可以运行的原生项目
Terminal进入到项目根目录,执行flutter create -t module ‘module
名字'例如:flutter create -t module flutter-native
执行完毕,就会发现项目目录下生成了一个module
进入到新生成的Flutter module目录下的.android目录下,命令是cd .android/
,然后执行gradlew flutter:assembleDebug
,mac下./gradlew flutter:assembleDebug
这过程根据网络情况,可能有点长。
结束之后在.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' ))
注意:最后一个参数最好写全路径!
在app/build.gradle中
dependencies { …… implementation project(':flutter') }
到此准备过程结束,写代码测试一下,我使用的是Fragment方式。当然也有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”的内容了,经过本文的学习后,相信大家对Android怎么在原生App中嵌入Flutter这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。