摘要:结束之后在目录下会生成第三步设置版本在的文件中加入第四步依赖在中加入注意最后一个参数最好写全路径在中到此准备过程结束,写代码测试一下,我使用的是方式。
本文参考文档Add Flutter to existing apps。
首先有一个可以运行的原生项目
第一步:新建Flutter module
Terminal进入到项目根目录,执行flutter create -t module ‘module名字’例如:flutter create -t module flutter-native
执行完毕,就会发现项目目录下生成了一个module
第二步:同步Flutter module依赖
进入到新生成的Flutter module目录下的.android目录下,命令是cd .android/,然后执行gradlew flutter:assembleDebug,mac下./gradlew flutter:assembleDebug
这过程根据网络情况,可能有点长。
结束之后在.android/Flutter/build/outputs/aar/目录下会生成flutter-debug.aar
第三步:设置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"
))
注意:最后一个参数最好写全路径!
在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 ↓
<");"1.0" encoding="utf-8"");"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">
"@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/6864.html
摘要:本文将以一个简单的为例,介绍下相关原理及定制与优化。模式对应了的模式,又称检查模式或者慢速模式。为快速启动,快速执行,包大小做了优化。并不支持模拟器的原因在于,模拟器上的诊断并不代表真实的性能。因此本文主要讨论因引入的构建,运行等原理。 摘要: 闲鱼技术-正物 问题背景 对于开发者而言,什么是Flutter?它是用什么语言编写的,包含哪几部分,是如何被编译,运行到设备上的呢?Flutt...
摘要:掌握可能是前端开发者翻盘的唯一机会。是开发必须的代码库。区别与应用,我们导入的是库而非,这是因为目前的接口并非和的完全通用,不过随着谷歌开发的继续,它们最终会被合并到一块。 Flutter是一种新型的客户端技术。它的最终目标是替代包含几乎所有平台的开发:iOS,Android,Web,桌面;做到了一次编写,多处运行。掌握Flutter web可能是Web前端开发者翻盘的唯一机会。 show...
阅读 2517·2023-04-25 15:07
阅读 682·2021-11-24 10:21
阅读 2202·2021-09-22 10:02
阅读 3494·2019-08-30 15:43
阅读 3156·2019-08-30 13:03
阅读 2247·2019-08-29 17:18
阅读 3555·2019-08-29 17:07
阅读 1830·2019-08-29 12:27