AndroidStudio 添加arr包,模块间层级依赖的总结

本文总结了Android Studio中添加aar包以及模块间层级依赖的方法。apps依赖models,models依赖libraries,每个模块的build.gradle配置了相应的dependencies和repositories路径。此外,还提到了如何解压aar包中的jar文件以及生成aar包的教程链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 模块的相对关系:

2.模块的依赖情况

1). apps的build.gradle:
dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api project(':models:model')//apps#app要依赖models#model
}

2). models的build.gradle:
dependencies {
    api fileTree(include: ['*.jar'], dir: 'libs')
    api project(':libraries:library')//models#model要依赖libraries#library
    api(name: '11', ext: 'aar')
    api(name: '12', ext: 'aar')
}

3). libaries的build.gradle:
dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api(name: '21', ext: 'aar')
    api(name: '22', ext: 'aar')
}

apps依赖models, models依赖libaries

3. 各模块repositories的依赖路径

1). apps的repositories下的依赖路径为:
android{
    repositories {//repositories须在 android{}节点下
        flatDir {
            dirs 'libs', '../../models/model/libs/','../../libraries/library/libs/'
        }
    }
}

2). models的repositories下的依赖路径为:
android{
    repositories {
        flatDir {
            dirs 'libs', '../../libraries/library/libs/'
        }
    }
}

3). libaries的repositories下的依赖路径为:
android{
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

4. 各模块的build.gradle:

1). apps的build.gradle:

android{
    repositories {//repositories须在 android{}节点下
        flatDir {
            dirs 'libs', '../../models/model/libs/','../../libraries/library/libs/'
        }
    }
}
dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api project(':models:model')//apps#app要依赖models#model
}

2). models的build.gradle:

android{
    repositories {
        flatDir {
            dirs 'libs', '../../libraries/library/libs/'
        }
    }
}
dependencies {
    api fileTree(include: ['*.jar'], dir: 'libs')
    api project(':libraries:library')//models#model要依赖libraries#library
    api(name: '11', ext: 'aar')
    api(name: '12', ext: 'aar')
}

3). libaries的build.gradle:

android{
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}
dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api(name: '21', ext: 'aar')
    api(name: '22', ext: 'aar')
}

5. 参考:

Android module library中添加aar包的那些坑

android studio library 模块中正确引用aar

ps:

1).如何解压aar包中的jar文件

下载jd-gui-windows-1.4.0文件, 地址 提取码: eter 。

双击jd-gui.exe,把对应jar文件拖入即可。

2).如何生成aar包

参考:Android studio如何生成aar包

Android将library打包成jar包和aar包

### Android Studio 导入 AAR 文件 对于希望在 Android Studio 中导入 AAR 文件的情况,可以采用多种方法来实现这一目标。一种常见的方式是在项目的 `libs` 目录下放置 AAR 文件并更新构建脚本以含这些库。 #### 方法一:通过本地路径添加依赖AAR文件被置于`libs`目录内之后,在模块级别的`build.gradle`文件中指定依赖关系: ```gradle dependencies { implementation files('libs/your-library.aar') } ``` 这种方法简单直接,适用于小型项目或临时测试环境[^1]。 #### 方法二:利用 Maven 仓库管理工具 如果团队内部已经建立了私有的Maven仓库,则可以直接将自定义编译好的AAR上传至该仓库,并像引用远程库一样轻松地将其作为依赖项加入到应用中: ```groovy repositories { maven { url 'http://myrepo.com/mvn' } } dependencies { implementation 'com.example:library:+' } ``` 此方案适合大型企业级开发场景,便于维护和版本控制[^2]。 #### 方法三:创建新的 Module 并复制资源 另一种做法是基于现有AAR创建一个新的Library module,这允许更灵活地修改源码而不影响其他部分的功能。具体操作如下: - 创建名为`new-module-name`的新module; - 将下载得到的`.aar`重命名为`.zip`解压后获取其中的内容; - 把解压缩后的文件夹里的东西全部拷贝粘贴进刚刚建立起来的那个module里去; - 修改对应的`settings.gradle`确保能够识别新增加的部分。 这种方式虽然较为繁琐但是提供了最大的灵活性[^4]。 #### 自动化处理已打于`libs`下的所有AAR 为了简化流程还可以采取批量加载的形式,即一次性声明整个`libs`文件夹内的所有AAR为项目的一部分而无需逐一手动注册每一个单独的实例: ```groovy dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) } ``` 上述代码片段会自动扫描`libs`目录并将发现的所有符合条件(这里是扩展名匹配)的对象视为潜在可用组件加以索引[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值