Android Studio中使用aar文件:
为什么使用aar?
- aar中包含了依赖库中的所有内容
- src下的Java源码
- res下的资源
- jni中的底层调用等等
分别存储位置:
- jar包生成位置:
- 库/build/intermediates/bundles/debug(release)/classes.jar
- aar包生成位置
- 库/build/outputs/aar/libraryname.aar
两者区别:
- jar包:
- 只包含了class文件与清单文件,不包含资源文件,如图片等所有的res中的文件。
- aar包:
- 包含所有资源,class以及res资源文件等
使用区别:
- 如果你只是简单地提供一个类库,那么使用生成的*.jar文件即可
- 如果你提供的是一个带有UI资源的库,包含一些自己写的控件、布局文件、字符串等资源,那么就只能使用*.aar文件了
使用方式:
jar包:
- Eclipse:直接导入
- Studio:项目中,找到build.gradle文件,加入:
dependencies{
compilefileTree(include:['*.jar'],dir:'libs')
}
aar包:
这里只讲述studio使用aar的方式
aar的使用其实有两种方式:
网络加载:
由于网络加载涉及到将整个工程发布到MavenCentral、JCenter等仓库进行托管,因此将会另开文章进行讲述,这里暂不讨论
本地加载:
实例:
aar文件名为:“genius.aar”
将aar文件拷贝到module的libs目录中
找到build.gradle文件,修改配置为:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'test', ext:'aar')
}
随后,rebuild project就可以正常使用了
此时打开你的项目中的:
你会发现下面多出来一个目录:test
打开后能看见里面包含了:classes.jar、res、R.txt等
此时,直接在代码中就能使用aar库中的工程内容。
/build/intermediates/exploded-aar/