Flutter aar 发布

我司引入了 flutter 到主 App 中,这个大概是大部分公司的节奏。引入一个新技术,一定要搞定集成问题。

不定制化且切到最新版本的前提下:

  • 在 1.9 版本,flutter build aar 即可。所以如果是 1.9 版本,请关掉这个文章。191有个坑,build aar是不支持plugin的native层相互依赖的。
  • 用闲鱼的 FBI,应该是一键化的事情。如果用 FBI,请关掉这个文章。

问题

一键将 flutter 工程集成到主工程,且支持远程发布和本地发布。

思路

build apk 其实会生成足够的 aar 文件(每个 plugin 一个),只是没有最后合并的步骤(fat-aar)。如果在 maven 语境下,合并文件不是必须的,合并成一个大依赖即可。

步骤

flutter 工程下:

  • build apk
  • 读取 .flutter-plugins 文件,解析出来每个 plugin 的 path,aar 就在对应的 build 目录下。不要觉得这个步骤 hacky,flutter.gradle 里也是这么干的
  • 构建一个纯 android 的 library module 作为发布大依赖的 wrapper
  • 把每个 aar 发布到远程/本地文件夹
  • 修改 wrapper 中依赖的版本号
  • 发布 wrapper 到远程

主工程:
直接依赖发布的 wrapper 即可。
注意点在于:

  • 区分 debug 和 release。只有 debug 才能 hot-reload,不能造次。我们是用 artifact id 加 -debug 后缀实现的。
  • 最好通过支持发布到本地,既可以是 maven local,也可以是 libs 文件夹。这是为了持续开发一个大功能更方便。用我们选择了 libs 文件夹,这样不容易出锅,maven local 的版本号冲突和对远端的覆盖很难搞。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值