Flutter完整开发实战详解(十四、混合开发打包 Android 篇)

本文介绍了Flutter混合开发中Android的打包和插件处理方法,包括整体框架的两种集成方式,重点讲述了如何将Flutter打包为aar供原生项目使用,以及处理带有原生代码的插件,确保它们在主工程中正确引入。
摘要由CSDN通过智能技术生成

一、前言

随着各种跨平台框架的不断涌现,很多时候我们会选择混合开发模式作为脚手架 ,因为企业一般不会把业务都压在一个框架上,同时除非是全新项目,不然出于对原有业务重构的 成本和风险 考虑,都会选择混合开发去尝试入坑。

但是混合开发会对 打包、构建和启动等流程熟悉度要求较高 ,同时遇到的问题也更多,以前我在 React Native 也写过类似的文章 :《从Android到React Native开发(四、打包流程解析和发布为Maven库)》 ,而这方面是有很多经验可以通用的,所以适当的混开模式有利于避免一些问题,同时只有了解 Flutter 整体项目的构建思路,才有可能更舒适的躺坑。

额外唠叨一句,跨平台的意义更多在于解决多端逻辑的统一 ,至少避免了逻辑重复实现,所以企业刚开始,一般会选择一些轻量级业务进行尝试。

官方未来将有 Flutter build aar 的方法可提供使用。

二、打包

一般跨平台混合开发会有两种选择:

  • 1、将 Flutter 整体框架依赖和打包脚本都集成到主项目中。
  • 2、以 aar 的完整库集成形式添加到主项目。

两种实现方法各有利弊:

  • 第一种方式可以更方便运行时修改问题,但是对主项目“污染”会比较高,同时改动会大一些。

  • 第二种方式 需要单独调试后,更新 aar 文件再集成到项目中调试,但是这类集成方式更干净,同时 Flutter 相关代码可独立运行测试,且改动较小。

一般而言,对于普通项目我是建议以 第二种方式集成到项目中的 ,通过新建一个 Flutter 工程,然后对工程进行组件化脚本处理,让它 既能以 apk形式单独运行调试,又能打包为aar形式对外提供支持。

相信对于原生平台熟悉的应该知道,我们可以通过简单修改项目gradle 脚本,让它快速支持这个能力,如下图片所示,图片中为省略的部分脚本代码,完整版可见 flutter_app_lib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值