最近把lib库生成aar时,发生了 Direct local .aar file dependencies are not supported when building an AAR 的构建错误,具体如下图所示:
原因是Lib库的libs文件夹下已经包含了一个本地的aar,导致再二次编译生成aar时出错,经过各种搜索总结,这里记录下最终解决方案,以供日后翻阅。
方法步骤:
- 把Lib库的libs文件夹下的aar拷贝至任意目录,
- AS工程目录下操作顺序依次是 File -> New -> New Module -> Import .JAR/.AAR Package,然后找到上一步存放的aar 文件直接导入完成,记得新模块命名(如:firebaselib)
- 在Lib库的模块
build.gradle
文件中引用新的Module:
implementation project(path: ':firebaselib')
最后Rebuild Project,在build/outputs/aar目录下就能看到想要的 aar 文件了。
注意:高版本AndroidStudio 在New Module时,Import .JAR/.AAR Package 选项不可用。
须手动完成。步骤如下:
- 在工程下新建文件夹 firebaselib 并在里新建
build.gradle
文件,文件内容如下:configurations.maybeCreate("default") artifacts.add("default", file('xxxxxxxx.aar'))
- 将本地
aar
放入这个新建的文件夹目录中,即在build.gradle
文件旁边。 - 将新创建文件夹项目添加到
settings.gradle
文件中:include ':firebaselib'
- 将新建项目包含导入到Lib库中:
implementation project(path: ':firebaselib')
最后Rebuild Project,在build/outputs/aar目录下就能看到想要的 aar 文件了。