You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle 8.0+下创建依赖其他AAR的AAR库模块方法咨询

Gradle 8.0+ 引入AAR文件的优化方案

方案1:本地Maven仓库(推荐,支持AAR间依赖)

这是批量管理AAR最省心的方式,还能自动处理AAR之间的依赖关系:

  • 在项目根目录建个local-repo文件夹作为本地Maven仓库(名字可自定义)
  • 写个Gradle任务自动把libs目录下的所有AAR发布到本地仓库,将这段代码放到根目录的build.gradle中:
task publishLocalAars {
    doLast {
        def aarDir = file('libs') // 你的AAR存放目录,可按需修改
        aarDir.eachFileMatch(~/.*\.aar/) { aarFile ->
            def groupId = 'com.yourteam.local' // 自定义组名
            def artifactId = aarFile.name.replace('.aar', '')
            def version = '1.0.0' // 自定义版本号
            
            exec {
                commandLine './gradlew', 'publishToMavenLocal', 
                    "-PgroupId=$groupId", 
                    "-PartifactId=$artifactId", 
                    "-Pversion=$version", 
                    "-PaarPath=${aarFile.absolutePath}"
            }
        }
    }
}
  • 在settings.gradle里添加本地仓库地址:
dependencyResolutionManagement {
    repositories {
        mavenLocal()
        // 保留你原有的其他仓库,比如mavenCentral()
    }
}
  • 之后在模块里就能像引入远程库一样添加依赖:
implementation 'com.yourteam.local:your-aar-name:1.0.0'

若AAR之间存在依赖,发布时配置好对应关系,Gradle会自动解析依赖链。

方案2:FlatDir仓库(快速单模块引入)

Gradle 8.0+虽对FlatDir有使用限制,但仍可用于快速导入少量AAR:

  • 在模块的build.gradle里配置FlatDir仓库:
repositories {
    flatDir {
        dirs 'libs' // AAR所在目录
    }
}
  • 直接引入AAR,注意填写不带后缀的文件名:
implementation(name: 'your-aar-filename', ext: 'aar')

提醒:这种方式无法自动处理AAR之间的依赖,所有关联的AAR都需手动引入。

方案3:通用AAR整合模块

如果你的AAR集合固定,不想重复配置依赖逻辑,可创建统一的导入模块:

  • 新建一个Android Library模块(比如命名为aar-collection),将所有AAR放到它的libs目录
  • 在这个模块的build.gradle中用FlatDir配置好所有AAR依赖
  • 其他模块只需依赖这个整合模块即可:
implementation project(':aar-collection')

内容的提问来源于stack exchange,提问作者冰珊孤雪

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:23:07