标签:android android studio gradle aar
有时候由于需要一些自定义之后的开源库,无法使用jCenter里面的官方库,又懒得自己搭建Maven仓库,所以我们想要自己在项目里面直接导入本地的AAR库。
网上通用的AAR导入Gradle的方法很简单:
repositories {
flatDir {
dirs ‘libs‘
}
}
dependencies {
compile name: ‘libname‘, ext: ‘aar‘
}
如果我们只有一个APP的情况下,这个方法就足以了,但是如果项目比较复杂,有多个Module都需要这个相同的aar库,问题就来了。下面的项目中,我们有一个Application:app,两个module:framework,custwidgets。并且两个module都需要依赖Fresco的aar库。我们把aar放到framework里面,app和custwidgets都依赖于framework。现在编译会报错:
原因是编译两个module依赖了framework,但是在另外两个目录使用无法找到libs这个目录(由于写的相对路径,对于app,搜索的目录就是app/libs/),把AAR引进来。目前Gradle引入AAR还比较弱,无法像jar一样直接就依赖进去了。
由于不想每一个module都放一份aar。所以,我们只能在flatDir下功夫。方案1是使用绝对路径,这样很不灵活,无法根本性的解决问题,后来突然灵机一动,我目录使用”../framework/libs”不就可以找到这个路径了么:)。试了一下,果真work了。附上示例工程:http://download.csdn.net/detail/yutao52shi/9052009。供给大家参考一下。
现在开始Have fun with AAR吧:)
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:android android studio gradle aar
原文地址:http://blog.csdn.net/yutao52shi/article/details/48015125