先讲集成版本:flutter doctor -v 通过这个命令查看当前配置版本
[√] Flutter (Channel beta, v1.12.13+hotfix.2, on Microsoft Windows [Version 10.0.15063], locale zh-CN)
• Flutter version 1.12.13+hotfix.2 at D:\saftware\flutter
• Framework revision 4f54e46f56 (17 hours ago), 2019-12-04 09:20:18 -0800
• Engine revision 6955b06ced
• Dart version 2.7.0
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at D:\saftware\Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• ANDROID_HOME = D:\saftware\Sdk
• Java binary at: D:\saftware\android-studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
• All Android licenses accepted.
[√] Android Studio (version 3.5)
• Android Studio at D:\saftware\android-studio
• Flutter plugin version 40.1.2
• Dart plugin version 191.8423
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
[√] Connected device (1 available)
• SM G9350 • b77bb68d • android-arm64 • Android 7.0 (API 24)
• No issues found!
我用的Channel是beta,版本是v1.12,之所以单独说一下,是因为v1.12之前跟现在的集成方式不一样,有了改版
第一步:在老Android项目配置
1、在settings.gradle中添加配置
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile,
'flutter_module/.android/include_flutter.groovy'
//这里是Flutte项目的路径
))
2、在app下面的build.gradle中添加flutter的model
implementation project(':flutter')
3、创建一个Activity,集成FlutterActivity,
,是io.flutter.embedding.android.FlutterActivity包下面的
4、AndroidManifest注册Activity
<activity android:name="third.flutter.FlutterBaseActivity"
android:theme="@style/FlutterTheme"
android:hardwareAccelerated="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/bg_white" />
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true"/>
</activity>
到这已经集成完毕,可以直接向启动普通Activity一样启动Flutter页面了,本篇只讲基础的
下一章:Flutter与原生混合开发之:原生与Flutter通信与交互