AndroidStudioAndroid知识Android开发

Android引用本地aar包

2017-03-08  本文已影响341人  ladder_builder

生成aar包

在build.gradle文件中,apply plugin: 'com.android.library'

引用aar包

在Application和Library中引用aar有些不同。
假设aar包的名字问“test.aar”

在Application module中引用aar

  1. 将aar放到module的aars目录下
  2. 在build.gradle中添加
repositories {
    flatDir {
        dirs 'aars'
    }
}
dependencies {
    compile(name: 'test', ext: 'aar')
}

其实aar可以放到任意目录,只要保证和flatDir中的名字一致即可。

在Library module中引用aar

比如A是一个Libray module,B是Application module,其中B依赖A,而A又依赖一个本地的aar。
此时如果还按上面那种方法去设置,变出现找不到aar的错误。

这是因为Library A不会把自己的依赖打包给B,而只是告诉B自己的依赖列表,然后由B去加载所有的依赖包。

但是由于B在自己module下的aars目录中没有发现test.aar,所有才会报错。
问题的关键,就是要告诉B,应该如何去找test.aar。在B的build.gradle文件中,设置好正确的flatDir即可。

repositories {
 flatDir {
     dirs project(":A").file('aars')
 }
}
上一篇下一篇

猜你喜欢

热点阅读