android aar管理,android 库依赖管理之一aar依赖

依赖分为公共mavn库依赖,私有maven库依赖,本地仓库依赖,aar依赖,module直接依赖。

方案1:

repositories {

flatDir {

dirs 'libs'

}

}

dependencies {

compile(name:'cards', ext:'aar')

}

方案2:新建一个jar/aar Module,选择aar 文件,然后新建的Module 目录下,就会多了个build.gradle 和xxx.aar。

configurations.maybeCreate("default")

artifacts.add("default", file('mylibrary-debug.aar'))

方案3:批量引用

设置脚本,在project根目录下buildsystem/util.gradle

/**

* 是否是module依赖方式

* @return

*/

def isDepModule()

{

return "1".equals(DEPENDENCIES_MODULE);

}

/**

* 设置aar库的path

* @param project

*/

def setAARDirs(Project project)

{

project.repositories {

flatDir {

dirs 'libs','libs/aars','libs/aars/default' //dirs 'libs','libs/aars','libs/aars/default'

}

}

}

/**

* 添加aar依赖库

* @param dh

* @param ft

* @param isDepModule

* @return

*/

def addAARLibs(Project project, boolean isDepModule = false)

{

DependencyHandler dh = project.dependencies;

ConfigurableFileTree ft = project.fileTree(dir: 'libs', include: '**/*.aar');

ft.each { File f ->

//default目录下的aar是一直要依赖的,aars目录下的aar是替代module的

if(f.parentFile.name.equals('default') || !isDepModule && f.parentFile.name.equals('aars'))

{

dh.add("compile", [name: f.name.lastIndexOf('.').with { it != -1 ? f.name[0..

}

}

}

ext{

isDepModule = this.&isDepModule //是否是module依赖方式

setAARDirs = this.&setAARDirs //设置aar库的path

addAARLibs = this.&addAARLibs //添加aar依赖库

}

在project的根目录下的buidl.gralde顶部引入util.gralde

apply from: 'buildsystem/util.gradle'

在需要的引用aar的modul的build.gradle中设置aar路径,级联依赖时,在依赖链上的每个module中都要添加路径,不然找不到。

//在android节点中或者在最外层都可以

repositories {

rootProject.ext.setAARDirs(project);

}

在dependencies中引入

rootProject.ext.addAARLibs(project, false);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发中,如果在打aar时遇到远程依赖打不进去的情况,可能是由于以下几个原因导致的: 1. 依赖版本不兼容:可能是依赖的版本与Android项目中其他组件的版本不兼容。在使用远程依赖时,需要确保依赖的版本号与项目中其他组件的版本号相匹配,否则可能会导致打aar时无法成功引入依赖。 2. 依赖声明错误:在使用远程依赖时,需要在项目的build.gradle文件中正确声明依赖。如果依赖声明错误,编译时会出现错误,无法成功引入依赖。 3. 依赖缺失或地址错误:如果在打aar时遇到依赖打不进去的情况,可能是由于依赖在远程仓中不存在或地址错误导致的。需要确保依赖在远程仓中可用,并且使用正确的地址进行引入。 解决这个问题的方法可以尝试以下几个步骤: 1. 检查依赖版本:确保依赖的版本与项目中其他组件的版本兼容,并且使用正确的版本号进行引入。 2. 核对依赖声明:在项目的build.gradle文件中检查依赖的声明,确保格式正确、不存在错误,并且没有其他冲突的依赖项。 3. 检查依赖地址:确认依赖在远程仓中存在,并且使用正确的地址进行引入。可以尝试手动下载依赖并将其放置在项目的libs目录下,然后在build.gradle文件中引入本地依赖。 如果仍然无法解决问题,可以尝试联系依赖的维护者或者查看相关文档和社区进行更详细的咨询和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值