集成FlutterBoost案例

作者: 不正经的创作者 | 来源:发表于2020-05-28 16:41 被阅读0次

    在Flutter发布了1.12版本之后 , 在原生程序中集成flutter的方式也有了改变 , 于是重新走一遍流程。

    本次操作基于以下版本:

    Flutter 1.12.13+hotfix.5 • channel stable
    Android Studio 3.6

    Android集成Flutter的意义

    有时一次全部在Flutter中重写整个应用程序是不切实际的。在这种情况下,Flutter可以作为库或模块集成到现有的应用程序中。然后可以将该模块导入到Android或iOS(当前受支持的平台)应用中,以在Flutter中呈现应用UI的一部分。或者仅运行共享的Dart逻辑。

    通过Android Studio来集成Flutter

    创建一个原生Android应用

    当然如果你已经有现成的App准备嵌入Flutter,也可以使用, 但我还是建议再创建一个应用来走一遍流程,我这里直接新建了一个文件夹 , 在该文件夹内新建了一个Android应用。

    目录为:
    FlutterBoostDemo \ AndroidBoost

    限制支持的架构

    Flutter当前仅支持为armeabi-v7a和arm64-v8a AOT编译的库。
    使用abiFilters Android Gradle插件API来限制APK中支持的架构。
    这样做可以避免丢失libflutter.so运行时崩溃,例如在原生项目的app\build.gradle中添加以下代码:

    支持java8

    因为Flutter使用了Java8的功能, 所以这里我们的原生Android应用也要支持java8.

    创建flutter module

    如果没有flutter module, 可以在这里选择下面的选项,
    否则的话可以选择import Flutter Module 来导入你自己的flutter module

    编译过程完成之后, 会在Android应用的下级目录下生成一个flutter_module的文件夹:
    FlutterBoostDemo\AndroidBoost\flutter_module_boost

    通过这种方式创建的mudule, Android Studio插件会自动将您的Android项目配置为添加Flutter模块作为依赖项,并且App也会重新编译完成。

    现在Andoid Studio显示的样子是这样的:

    看到左上角这个Android了吗? 如果这个视窗下看不到flutter项目的话,就切换到Project Files视窗下。

    突然发现如果使用Android Studio 需要我们做的很少 , 如果是要手动来引入的话,就会复杂的多。可以参考一下内容::官方的手动集成教程

    如果新建的flutter module无法build 提示如下的话:

    可以修改settings.gradle:

    集成FlutterBoost

    在Flutter项目中添加依赖项。
    打开pubspec.yaml并将以下行添加到依赖项:

    • androidx branch:
      flutter_boost:
          git:
              url: 'https://github.com/alibaba/flutter_boost.git'
              ref: '1.12.13'
    
    • support branch
      flutter_boost:
          git:
              url: 'https://github.com/alibaba/flutter_boost.git'
              ref: 'task/task_v1.12.13_support_hotfixes
    

    推荐使用androidx分支 , 所以这里我依赖的是上面的。

    在app的build.grade中添加依赖:

    OK,到这里就已经完成了FlutterBoost的集成了,下面就是一些路有跳转和参数传递相关的东西了。

    相关文章

      网友评论

        本文标题:集成FlutterBoost案例

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