[bug]完美解决Android中Direct local .aar file dependencies are not supported when building an AAR

最近为了适配Android 13,升级了AS(Android Studio Dolphin | 2021.3.1 Patch 1),顺便gradle也升级了(7.2.1),本来程序运行的好好的,准备打包发布的时候,发现没法打包,真是汗颜。于是各种搜索,发现网上的教程还真是不少,于是都照着实施了一遍,发现真的可行的实在不多,再次记录一下我填好坑的结果。

开发环境

gradle version

classpath 'com.android.tools.build:gradle:7.2.1'

gradle wrapper

distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip

android studio version

Android Studio Dolphin | 2021.3.1 Patch 1

问题描述

Direct local .aar file dependencies are not supported when building an AAR

解决方案

1.在你的工程目录下创建一个文件夹local_repo,每个aar文件可以单独的创建一个子文件夹,例如lib1,然后把aar文件放入,然后在lib1目录下创建一个build.gradle文件,内容如下:

configurations.maybeCreate("default")
artifacts.add("default", file('test.aar'))

2.在settings.gradle导入该工程

include ':local_repo:lib1'

3.在你需要依赖的工程里的build.gradle里增加依赖:

api project(path:':local_repo:lib1')

这样你的程序就可以正常打包了。

总结

网上类似的代码有很多,但是说的不是很仔细,需要注意细节:

1.项目导入及引用的路径要正确,api project(path:':local_repo:lib1')是因为我在module中使用的,不能使用implementation

2.如果有多个本地的aar需要引用,需要分别创建工程目录及build.gradle文件,经过尝试,写到一个文件里add是不行的,只能加载第一个aar文件。

3.也可以把aar文件放在application的module里,也是可以解决这个问题,但是这样不方便管理。

你可能感兴趣的:([bug]完美解决Android中Direct local .aar file dependencies are not supported when building an AAR)