当前位置: 首页 > 编程笔记 >

android studio library 模块中正确引用aar的实例讲解

燕琨
2023-03-14
本文向大家介绍android studio library 模块中正确引用aar的实例讲解,包括了android studio library 模块中正确引用aar的实例讲解的使用技巧和注意事项,需要的朋友参考一下

今天对接一个海康监控的sdk,其中sdk 是以aar的形式提供的,并且我需要用到此aar的模块是个library。所以按照正常的在application模块中引入aar的方式一致报错,首先提示要关闭offline ,然后关闭了还是会提示错误。想了很久不明白。最终通过公司前辈的指导,正确的引入了aar。

1.除了和正常的aar的引入方式外,我们还需要在application所在模块的build.gradle文件中加入如下一段:

repositories {
  flatDir {
    dirs 'libs', '../模块名/libs'
  }
}

在application的build中也要加入文件的指向,可加入各个模块,其中用逗号隔开,模块名就是你的modlename。

然后在你自己模块中还要正确引入:

repositories {
  flatDir {
    dirs 'libs'
  }
}
dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  compile(name: 'aar名字', ext: 'aar')
}

到此aar的引入就完成了。

———————————— 更新于 2018-01-03 ————————————

最好使用远程依赖的方式,这种方式可以有效解决,多层级依赖,导致相同的库文件重复的问题。

远程依赖的规则是不传递依赖,这样本模块依赖的再引用的模块是不可见的:

模块A,B,C

如果B依赖C并且是远程依赖,那么A依赖B的时候,C对于A是不可见的。

如果我们需要A中使用C,那么可以在A中依赖C。

另一种解决方式:

那么我们在library中依赖aar的时候就可以考略将此aar上传maven仓库或者其他的远程地址,这样在依赖的时候就不会出现编译不通过或者运行不了的问题。

 类似资料:
  • 本文向大家介绍举例讲解AngularJS中的模块,包括了举例讲解AngularJS中的模块的使用技巧和注意事项,需要的朋友参考一下  AngularJS支持模块化的方法。模块用于单独的逻辑表示服务,控制器,应用程序等,并保持代码的整洁。我们在单独的js文件中定义的模块,并将其命名为按照module.js文件形式。在这个例子中,我们要创建两个模块。     Application Module -

  • 本文向大家介绍实例讲解Python中SocketServer模块处理网络请求的用法,包括了实例讲解Python中SocketServer模块处理网络请求的用法的使用技巧和注意事项,需要的朋友参考一下 SocketServer创建一个网络服务框架。它定义了类来处理TCP,UDP, UNIX streams 和UNIX datagrams上的同步网络请求。 一、Server Types 有五个不同的服

  • 本文向大家介绍python XlsxWriter模块创建aexcel表格的实例讲解,包括了python XlsxWriter模块创建aexcel表格的实例讲解的使用技巧和注意事项,需要的朋友参考一下 安装使用pip install XlsxWriter来安装,Xlsxwriter用来创建excel表格,功能很强大,下面具体介绍: 1.简单使用excel的实例: 2.常用方法说明 1.Workboo

  • 本文向大家介绍jquery验证手机号是否正确实例讲解,包括了jquery验证手机号是否正确实例讲解的使用技巧和注意事项,需要的朋友参考一下 如果要做手机号的验证,那么我们需要知道手机号码的号段。 //移动号码归属地支持号段:134 135 136 137 138 139 147 150 151 152 157 158 159 178  182 183 184 187 188 //联通号码归属地支持

  • 本文向大家介绍常见的python正则用法实例讲解,包括了常见的python正则用法实例讲解的使用技巧和注意事项,需要的朋友参考一下 下面列出Python正则表达式的几种匹配用法: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm  1.测试正则表达式是否匹配字符串的全部或部分  2.测试正则表达式是否匹配整个字符串  3.创建一个匹配对

  • 在我的Android应用程序项目中,我试图避免在我的项目中引用一个外部Maven库,否则我会从那里加载多个。组成一个SDK的aar工件。 相反,我想将 .aar 文件放入我的项目中,然后从我的一个 Gradle Android 库模块中引用它们。 我已经尝试了不同的方法——但都不管用。 灵感来自 https://stackoverflow.com/a/72672032/35689 在这里,我的工件