关于安卓高版本gradle(7.0+)引入aar包报错问题

背景

项目开发过程中,接入三方sdk,引入了本地aar包依赖,as rebuild项目的过程中,报错,提示依赖找不到问题。

报错:"bundleDebugAar FAILED"等

开发环境

win10

jdk11

gradle 7.5

原因

由于gradle的版本号不一致,项目中引入本地aar包的方式也有所不一。旧gradle的aar引入,若是在主项目中引入,则直接声明依赖即可。若是在子module中引入,在额外需要声明aar路径,(flat,sourceSet)也行。不过到了gradle7.0+版本,这些方法就失效了。

具体引入方法如下:

(1)app项目同级路径下,创建目录,把项目aar包都放到该目录下面,同时创建一个build.gradle,用于声明aar导入信息,示例代码如下:

复制代码
configurations.maybeCreate("default")
artifacts.add("default", file('xxxx.aar'))

这里的xxx.aar需要替换为具体的aar包名字。注意的是一定需要声明后缀。

(2)然后在项目的setting.gradle中,声明该目录,内容如下:

复制代码
include ':xxx'

xxx就是对应的模块名字

(3)最后在使用到的地方,进行引入,引入方式,和普通module方式一样,核心代码如下:

复制代码
    api project(':xxxx')

xxx就是模块的名字。

然后syn项目,rebuild查看运行结果。

做完上述操作后,实测rebuild,打release包,as安装调试包都是不会报错的。

that's all---------------------------------------------------------------------------

相关推荐
rocpp7 小时前
Android 相册选择与拍照接入实践:MediaStore 分页、权限适配与 FileProvider
android
Flynt8 小时前
升级Flutter 3.44,我踩了HCPP和AGP 9的坑
android·flutter·dart
白色牙膏9 小时前
Cocos Creator 2.4.x 接入 AdMob 插件的迁移实践
android
我命由我1234510 小时前
C++ - 面向对象 - 常成员函数
android·java·linux·c语言·开发语言·c++·算法
tryqaaa_11 小时前
学习日志(四)【php反序列化魔术方法以及pop构造配实战】
android
Java小学生丶12 小时前
记录一下我的 Gradle 开发环境配置过程
android·java·gradle·maven·安卓
问心无愧051313 小时前
ctf show web 入门256
android·前端·笔记
霸道流氓气质13 小时前
MySQL 索引设计实战指南
android·数据库·mysql
R语言爱好者14 小时前
叠氮酸介绍
android
方白羽14 小时前
Android WebView 中实现第三方 QQ 登录的架构与流程详解
android·app