您的位置:首页 > 移动开发 > Android开发

android studio 使用aar资源包

2015-09-11 22:20 561 查看
随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是AndroidLibrary,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便。

aar

何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。以上基本知识部分参考 http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/ 获取aar包在android studio中获取aar包很简单,我们只需要把我们Android Library项目运行一下就可以在该library项目下的build/output/aar文件下找到,aar包了(如果你还不知道如何创建library项目,请左转去找百度,这里就不说创建library项目了),有时这里有两个aar包,一个是发布版本,一个是debug版本,用哪一个都可以。(library项目发布运行和debug运行都有过,会出现这种情况,一般只有一个)。在项目中如何引用aar包假如这里我们有一个test.aar包,首先我们把该包拷贝到libs文件加下,(当然你也可以拷贝到其他地方,不过没试过)在我们的project工程的build.gradle文件中做如下配置(红色背景)
buildscript {
repositories {
jcenter()
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
jcenter()
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
}
在我们的项目module的build.gradle文件中做如下配置(红色背景)
dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:appcompat-v7:22.2.1'compile 'com.android.support:recyclerview-v7:22.+'compile 'com.android.support:cardview-v7:22.+'/*引入andbase_library库*/compile project (':andbase_library')compile(name:'test', ext:'aar')}
这样就可以啦,亲测有效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: