将Flutter项目打包aar上传maven

当Flutter作为模块 (Flutter Module) 使用的时候,我们可以将Flutter Module 打包成aar的方式,依赖到Android原生项目中,这样原生项目无需进行任何的Flutter配置,耦合最小。

我们可以直接在本地进行依赖,或者使用maven仓库对aar包进行管理。

方法一 : 本地直接进行依赖

在项目根目录下,使用cmd中执行 flutter build aar命令
编译成功后,可以看到cmd中有显示相关的配置方式
在这里插入图片描述
需要注意的是,在Windows中,直接这样配置是会报错的,需要将本地maven url修改成如下所示

String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
maven {
    url "file://C:/WorkSpace/Android/Flutter/flutter_module/build/host/outputs/repo"
}
maven {
    url "$storageUrl/download.flutter.io"
}

但是,这种方式只适合个人开发的时候,对aar的管理不够友好,如果换一台电脑,或者多人开发,就会有问题了。

方法二 : 直接手动上传到maven仓库中

在项目根目录下,使用cmd中执行 flutter build aar命令
然后在build文件夹下找到该aar,手动上传到maven仓库中
详情可以看我的另一篇博客 手动上传aar到nexus maven仓库
这种比较简单,但经常上传的话,相对比较繁琐

方式三 : 使用脚本自动上传

点击upload.bat或在cmd中执行upload.bat ,自动上传aar到maven仓库

在这里插入图片描述
具体做法

  1. 在Flutter Module 项目的根目录下,新建一个script文件夹
  2. 下载flutter_aar_upload.gradle放到script文件夹下
  3. script文件夹下新建upload.bat

接着,使用记事本编辑upload.bat

cd ..
cd .android
gradlew -I=../script/flutter_aar_upload.gradle -Pmaven-url=http://nexus.liubike.com/repository/AndroidRepository/ -Pmaven-user=admin -Pmaven-pwd=123456 -Pis-plugin=false -PbuildNumber=1.0.3 assembleAarRelease

还可以配置打包的cpu架构 -Ptarget-platform=android-arm,android-arm64,android-x64

然后就可以点击upload.bat或在cmd中执行upload.bat
在这里插入图片描述

然后,我们看一下maven仓库
在这里插入图片描述
可以看到,已经有这个aar了

最后,我们像使用其他普通的maven 第三方库一样,进行使用即可

  1. 在根目录的build.gradle中添加maven地址
repositories {
  maven {
      url 'http://nexus.liubike.com/repository/AndroidRepository/'
  }
  maven {
      url 'https://storage.googleapis.com/download.flutter.io'
  }
}
  1. 在app的build.gradle中添加依赖
dependencies {
  implementation 'com.heiko.flutter_module:flutter_release:1.0.3'
}

编译,发现成功运行 !

如果是mac os 或 linux,可以看这一篇 https://blog.csdn.net/qq_37299249/article/details/115012889


版权声明:本文为EthanCo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。