Andoid

Android Studio本地引用aar

2017-06-14  本文已影响0人  Haraway

何为aar?类似jar文件,如果你有一个Android Library项目,可以很导出jar文件,然后在其他项目中很方便的引用,aar和jar区别是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。

一般使用官方的提供的库:如 android-support-v7-appcompat、android-support-design
在build.gradle添加:

dependencies {  
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
}  

但这个是需要联网,从MavenCentral下载下来。

如何离线本地引用aar呢?

1,导出aar

首先Android Library项目的gradle脚本只需要在开头声明

apply plugin: 'com.android.library'

之后就和导出apk文件一样的方法,执行

./gradlew assembleRelease

然后就可以在 build/outputs/aar 文件夹里生成aar文件

2,引用本地的aar

生成aar之后下一步就是如何引用本地的aar文件?本地的aar文件并没有像引用jar文件这么简单,官方也没有提供解决方案。好在国外的一些前辈总结出了方法,下面就以test.aar文件为例来详述下方法

1)、把aar文件放在一个文件目录内,比如就放在libs目录内

2)、在app的build.gradle文件添加如下内容

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}

3、之后在其他项目中添加一句gradle依赖便方便的引用了该library

dependencies {
    compile(name:'xxx', ext:'aar')//xxx为lib名
}

即可。

上一篇下一篇

猜你喜欢

热点阅读