2016年07月15日
写代码都希望高内聚,低耦合。Android Studio中aar的开发模式,可以让大项目,业务独立,互不影响。子业务开发完成后,将Android Library生成的aar,提交到公共平台,当项目足够大的时候,个人觉得这是一种比较不错的开发模式。
本地Library生成的aar路径
在当前的Library下面会有个build目录,在改目录下会生成对应的aar,如我的项目:
D:\workspace\ShareSDK\shareLibrary\build\outputs\aar
依赖本地aar
1、在工程目录app下面建立”libs”目录(如果没有的话)。
2、把aar文件拷入libs目录(例如:sharesdk_release_1.0.aar)。
3、在工程目录app的build.gradle中加入:
android {
...
repositories {
flatDir {
dirs 'libs'
}
}
...
compile(name: 'sharesdk_release_1.0', ext: 'aar') {
exclude group: 'com.android.support', module: 'appcompat-v7'
}
}
Module依赖aar
当工程大了的时候,会有多个Module。比如一个Demo,工程目录结构如下:
Demo
|- app
|- userlib
|- downloadlib
|- frameworklib
如果userlib,downloadlib都需要依赖一个本地aar,为了不每个module里面放置一份,可以将aar给frameworklib依赖,然后其他module依赖frameworklib即可。
但是需要修改根目录的build.gradle也就是Demo目录下的的build.gradle,加上如下配置:
buildscript {
...
}
allprojects {
repositories {
flatDir {
dirs '../frameworklib/libs'
}
....
}
}