返回

Flutter 混合开发实战——1.9.1版本 aar差异记录

Android

Flutter 混合开发实战——1.9.1版本 aar差异记录

Flutter 稳定版已经升级到 1.12.*,与之前版本相比变化较大。目前网上已经有许多帖子讨论了具体差异。我抽时间做了些适配,计划等原生项目迁移到 androidx 后再升级,毕竟项目大了一举一动都要谨慎。

过年的时候做了个过渡,由用了很久的 1.5.4 版本小升到了 1.9.1,简单罗列下…

一、aar的依赖项差异

aar的依赖项就是我们常说的基础包,需要加入到宿主工程中。从 1.5.4 到 1.9.1 版本,aar 的依赖项差异如下:

  • 新增依赖项

    • io.flutter:armeabi-v7a:1.9.1
    • io.flutter:armeabi:1.9.1
    • io.flutter:x86:1.9.1
    • io.flutter:x86_64:1.9.1
  • 移除依赖项

    • io.flutter:armeabi-v7a:1.5.4
    • io.flutter:armeabi:1.5.4
    • io.flutter:x86:1.5.4
    • io.flutter:x86_64:1.5.4
    • io.flutter:Flutter:1.5.4

二、代码差异

在代码方面,从 1.5.4 到 1.9.1 版本,差异如下:

  • 新增代码
    • 在 Flutter 工程的 build.gradle 文件中,新增以下代码:
        dependencies {
            // ...
            implementation project(':flutter')
        }
  • 修改代码
    • 在宿主工程的 build.gradle 文件中,将以下代码:
        implementation 'io.flutter:flutter_embedding_debug:1.5.4'
* 修改为:
        implementation 'io.flutter:flutter_embedding_debug:1.9.1'
  • 删除代码
    • 在宿主工程的 build.gradle 文件中,删除以下代码:
        implementation 'io.flutter:flutter_embedding:1.5.4'

三、API 变更

从 1.5.4 到 1.9.1 版本,Flutter API 也有所变更。以下是主要变更:

  • 新增 API
    • FlutterEmbeddingBuilder.addPlugins()方法
    • FlutterEngineGroup.destroy()方法
    • FlutterEngineGroup.getFlutterEngine()方法
  • 修改 API
    • FlutterFragmentActivity.onBackPressed()方法
    • FlutterFragmentActivity.onActivityResult()方法
  • 删除 API
    • FlutterActivity.onActivityResult()方法
    • FlutterFragmentActivity.onStart()方法
    • FlutterFragmentActivity.onResume()方法
    • FlutterFragmentActivity.onSaveInstanceState()方法
    • FlutterFragmentActivity.onStop()方法
    • FlutterFragmentActivity.onPause()方法
    • FlutterFragmentActivity.onDestroy()方法

四、其他差异

除以上几点外,从 1.5.4 到 1.9.1 版本,还有一些其他差异,例如:

  • Flutter 1.9.1 版本新增了对 Android 11 的支持。
  • Flutter 1.9.1 版本改进了对右到左语言的支持。
  • Flutter 1.9.1 版本修复了部分 bug。

总结

以上就是 Flutter 1.9.1 版本与之前版本 aar 差异的详细记录。希望对开发者升级 Flutter 项目有所帮助。