android 嵌入脚本,Android如何在原生App中嵌入Flutter

首先有一个可以运行的原生项目

第一步:新建Flutter module

Terminal进入到项目根目录,执行flutter create -t module ‘module名字'例如:flutter create -t module flutter-native

执行完毕,就会发现项目目录下生成了一个module

dfa5e9431aa56711ee2ca71f7971e31a.png

第二步:同步Flutter module依赖

进入到新生成的Flutter module目录下的.android目录下,命令是cd .android/,然后执行gradlew flutter:assembleDebug,mac下./gradlew flutter:assembleDebug

这过程根据网络情况,可能有点长。

结束之后在.android/Flutter/build/outputs/aar/目录下会生成flutter-debug.aar

caf4b0074da9d74d4c4fc9d529a51a3a.png

第三步:设置JDK版本

在app的build.gradle文件中加入:

compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 }

1bc0ab396092cb2ebb7c5de753028853.png

第四步:依赖Flutter module

在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 ↓

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

android:id="@+id/content"

android:layout_width="match_parent"

android:layout_height="match_parent">

508f7f67cd7d19f5c358111954f02455.png

以上就是Android如何在原生App中嵌入Flutter的详细内容,更多关于Android 原生App中嵌入Flutter的资料请关注脚本之家其它相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值