【最强】Android 项目集成 Flutter 实战分享!不看看?

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。

今天和大家分享的是一个Android 项目集成 Flutter的实战!希望对大家的学习和工作有所帮助!原文地址:https://juejin.cn/post/6969086158122942501

相信大家在 最开始学习 Flutter 时都是使用命令行或者 Android Studio 等集成开发环境创建的 Flutter 项目,自动生成的 Flutter 项目模板包含了 Flutter 代码、Android 代码、iOS代码,直接运行就行。

但是公司的项目都是分开管理的,例如 Android、iOS是两个独立的项目在 git 中管理,与 Flutter 的模板项目还是存在差别的。

Android 现有项目集成 Flutter 方案

在现有 Android 项目中集成 Flutter 官方给出两种方案。

  1. 将 Flutter 打包成 AAR 包,然后在现有项目引入。
  2. 将 Flutter 源码视为 Gradle Module 引入现有项目。

1. 将 Flutter 打包成 AAR 包,然后在现有项目引入

使用 AAR 形式集成 Flutter 可以不用安装 Flutter SDK。可以将 AAR 上传到Maven 或 jcenter 仓库(jcenter 即将停止服务,所以还是使用 maven 吧)。这样应用起来更方便。如果代码更新比较频繁使用 AAR 形式集成则需要经常构建、发布,所以大家根据自己的项目及使用场景自行选择集成方案。

如何生成 AAR 包

生成 AAR 包通常有两种方式。

1. 使用 flutter 命令

假设构建一个 Flutter 模块 some/path/my_flutter,然后运行:

$ cd some/path/my_flutter
$ flutter build aar

至此 flutter 命令会在本地创建一个 maven 仓库,其目录结构如下:

build/host/outputs/repo
└── com
    └── example
        └── my_flutter
            ├── flutter_release
            │   ├── 1.0
            │   │   ├── flutter_release-1.0.aar
            │   │   ├── flutter_release-1.0.aar.md5
            │   │   ├── flutter_release-1.0.aar.sha1
            │   │   ├── flutter_release-1.0.pom
            │   │   ├── flutter_release-1.0.pom.md5
            │   │   └── flutter_release-1.0.pom.sha1
            │   ├── maven-metadata.xml
            │   ├── maven-metadata.xml.md5
            │   └── maven-metadata.xml.sha1
            ├── flutter_profile
            │   ├── ...
            └── flutter_debug
                └── ...

如果要引用本地仓库中的 aar 包则需要在宿主应用的 build.gradle 中做如下配置即可:

android {
  // ...
}

repositories {
  maven {
    url 'some/path/my_flutter/build/host/outputs/repo'
    // This is relative to the location of the build.gradle file
    // if using a relative path.
  }
  maven {
    url 'https://storage.googleapis.com/download.flutter.io'
  }
}

dependencies {
  // ...
  debugImplementation 'com.example.flutter_module:flutter_debug:1.0'
  profileImplementation 'com.exam
  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值