1. 程式人生 > >Android專案中引用本地aar檔案的方法

Android專案中引用本地aar檔案的方法

隨著專案越來越多,程式碼的複用就變得異常重要,這時候就要進行模組化程式設計,就是把一些通用的元件或者類庫做成單獨的模組,其他專案直接進行引用就好。針對Android開發最常見的就是Android Library,在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的方式直接方便的引用。

匯出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://www.jb51.net/article/65524.htm