美文网首页Flutter
Flutter与原生混合开发之:原生集成Flutter

Flutter与原生混合开发之:原生集成Flutter

作者: 程序狮 | 来源:发表于2019-12-05 18:33 被阅读0次

先讲集成版本: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,\color{red}{**注意**},是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通信与交互

相关文章

网友评论

    本文标题:Flutter与原生混合开发之:原生集成Flutter

    本文链接:https://www.haomeiwen.com/subject/uxrjgctx.html