將Android Library項目通過gradle導出爲aar

aar

何爲aar?大家都知道jar文件把,如果你有一個Android Library項目,可以很容易的導出jar文件,然後在其他項目中很方便的引用,aar和jar類似,區別就是一個Android Library項目導出的jar文件不能包含資源文件,比如一些drawable文件、xml資源文件之類的,所以這就有很大的限制,在gradle之前我們要引用帶資源文件的Android Library必須要把整個library導入進來進行引用,但是有了gradle之後,Android Library項目可以直接導出成aar,然後其他項目像引用jar的方式直接方便的引用。

導出aar

首先Android Library項目的gradle腳本只需要在開頭聲明

apply plugin: 'com.android.library'

之後就和導出apk文件一樣的方法,執行 ./gradlew assembleRelease,然後就可以在 build/outputs/aar 文件夾裏生成aar文件

引用本地的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:'test', ext:'aar')
}

以上方法親測有效。

總結

當然通過gradle最普遍的方法是把aar上傳到mavenCentral或者jcenter,引用的話更方便,但是對於一些公司內部library不想公開,而傳統的引用library方式又太繁瑣,引用本地的aar文件這種方式會非常方便合適,之後通用的模塊只需要做成library,不管更新還是修改只需要打包成aar,然後供其他項目使用就好了,對Android開發來說這是提升代碼複用非常有效的一個手段。


轉自 http://stormzhang.com/android/2015/03/01/android-reference-local-aar/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章