Flutter 应用热更新

Flutter 热更新简介

所谓热更新,指的是当应用代码出现缺陷问题时,不需要重新打包提交App Store即可完成缺陷的修复。众所周知,使用原生技术开发的应用体验虽然好,但开发、上线周期长也常常被诟病,特别是当应用出现线上问题时,不得不重新打包发布,大大的影响了用户体验,而热更新技术就是为有效解决线上缺陷而提出的。

不过,热更新虽然具有很大的优点,但是滥用热修复也会给应用带来不好的体验,并且苹果对于热更新和修复是明令禁止的,所以热更新主要针对的是国内Android市场。目前,Flutter对外开放的SDK是不支持热更新的,但是在Flutter的源码里有一部分预埋的热更新相关的代码,可以通过一些必要的手段在Android端实现动态更新功能。

众所周知,不论是新创建的Flutter项目,还是原生工程以Moudle或者aar的方式集成Flutter,最终Flutter在原生Android端应用中都是以混合的形式存在的。所以,当我们拆开一个Flutter在release模式下编译生成的aar包时,其目录结构下图所示。

Flutter 应用热更新_第1张图片
实际开发中,只需要关注assets、jni、libs这三个目录即可,其他都是原生的壳工程产物。

  • jni:该文件目录下存放的是libflutter.so文件,该文件是Flutter引擎层的C++实现,提供skia绘制引擎、Dart和Text纹理绘制等支持。
  • libs:该文件目录下存放的是flutter.jar文件,该文件为Flutter嵌入层的

你可能感兴趣的:(Flutter入门与实战,Flutter)