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

如何将多个AAR/Jar/Gradle依赖打包为单个AAR库?

打包多类型依赖为单个AAR的解决方案

针对你梳理的几个问题,直接给出明确结论和方案:

  1. Android Studio禁止嵌套AAR生成AAR
    这是Gradle官方的设计限制,因为AAR包含资源、Manifest等Android专属组件,直接嵌套会引发资源ID冲突、清单合并失败等问题,官方不支持这种打包方式。

  2. Fat AAR对Kotlin DSL的支持
    社区维护的Fat AAR插件已经适配Kotlin DSL,只要使用适配Gradle 7及以上版本的插件版本,就能在build.gradle.kts中正常配置。示例配置如下:

    plugins {
        id("com.android.library")
        kotlin("android")
        id("com.kezong.fat-aar")
    }
    
    dependencies {
        // 嵌入本地模块
        embed(project(":your-local-module"))
        // 嵌入远程Gradle依赖
        embed("com.example:some-dependency:1.0.0")
        // 嵌入本地libs目录下的AAR/JAR
        embed(fileTree("libs") { include("*.aar", "*.jar") })
    }
    
  3. 解决Gradle依赖需应用层重复导入的问题
    不要用implementation或api声明需要打包的依赖,改用Fat AAR提供的embed配置项,插件会将依赖的代码、资源、Manifest等全部合并到最终生成的AAR中,应用层直接导入这个打包后的AAR就能使用所有内部类,无需额外导入原依赖。

额外注意事项

  • 提前确认依赖的开源许可协议,部分库禁止二次分发,打包前需确保合规。
  • 打包后务必做完整测试:验证所有类的可访问性、资源是否正常加载、JNI库(如果有)是否能调用,避免出现合并遗漏或冲突。

内容的提问来源于stack exchange,提问作者Omar HossamEldin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:42:10