【AAR】flutter 引入第三方aar实践

4,595 阅读2分钟

一般来讲,都是将flutter打包成aar后集成到原生项目,但对于纯flutter项目,需要使用第三方包的时候,需要将aar包引入到flutter项目中,过程比较坎坷,但做一遍就会发现很简单,这里回顾一下。

一、导入流程

1、右键项目 -> Flutter -> Android moudle in Android studio

image.png

2、File > New > New Module

image.png

3、选中你需要的aar包

image.png

4、导入的包默认是在项目跟目录下,我们需要将其移动到android里

image.png

5、修改setting.gradle和app/build.gradle

image.png

image.png

至此包就已经导入成功了。但有几点注意事项。

二、注意事项

1、目录里没有 Android moudle in Android studio

如图下所示

image.png

那是因为包里缺少<package_name>.imlandroid/<package_name>_android.iml这2个文件,这个俩个文件是IDE的模块配置文件,少了这个就无法识别安卓目录,所以也无法打开android module

image.png

这个文件一般是IDE自动生成的,所以gitignore一般配置都会将其忽略掉,所以再另一个环境打开项目的时候就会出现这个问题。

解决方法就是新建一个同名项目,将里面的这2个文件拷出,再粘贴到这个项目

2、直接在跟目录引入包,就会出现这个报错

image.png

必须要先open Android moudle in Android studio,再执行最开始的步骤就没问题了

3、过程都对了,但提示找不到这个包

image.png

其实就是包放的位置和build.gradle里写的位置不匹配,包一般是放在android目录下,但放到了android/libs下,肯定是找不到包的。

假如我们把包放在了android/libs的目录下,我们可以修改成这样

// android/setting.gradle
include ':libs:HZCameraSDK'

// android/app/build.gradle
dependencies {
    implementation project(':libs:HZCameraSDK')
}

过程比较简单,了解的话大概5分钟就可以搞定,但对于刚接触这个的我来讲,折腾了一天。不过总算是搞定了。