天天看點

Android項目中內建aar方法介紹項目中內建aar

項目中內建aar

在android 開發中我們除了引入jar包之外,有時候還會需要使用到arr包,那麼既然有了jar為什麼還要arr呢?這裡就要說一下arr的不同了,arr包除了包含了位元組碼檔案之外,還會包含一些資源檔案,也就是說jar隻不過是arr的一個子集而已。從上面可以看出arr要比jar要好用一些,我舉例一下arr的優點。

1、arr檔案使用AS編譯的時候會自動生成-build—>outputs–>arrs(裡面有debug和replace格式的,一般引用到項目中的時候我習慣用replace)—-(jar檔案夾也可以在編譯的時候自動生成 位置:build–>intermediates–>bundles–>defalt–>classes.jar)

Android項目中內建aar方法介紹項目中內建aar
Android項目中內建aar方法介紹項目中內建aar

2、aar檔案編譯要比jar檔案編譯會快上nS

3、arr檔案占的位置比較小

4、arr不可見,相對于代碼保護來說更安全

本人發現以上幾點悠點,在本項目中還是比價實用的,下面說下內建的步驟,內建分為以下兩種情況:

1、在APP本項目中引用

(1)把arr檔案拷貝到項目中的libs檔案夾中

(2)在app.build.gradle中添加資源位置

repositories {
    flatDir {
        dirs 'libs'
    }
}
           

(3)在dependencies中配置依賴

2、在項目依賴的library中添加arr依賴

方法和在1中的方法相同,配置資源位置的時候進來用相對路徑

repositories {
    flatDir {
        dirs '../libary名稱/libs'
    }
}
           

下面說遇到的吭

在配置依賴的時候多了個字尾名,導緻出現 下面這種情況

Android項目中內建aar方法介紹項目中內建aar

錯誤寫法:

compile(name:'baselibrary-release.arr', ext:'aar')
           

正确寫法如下:

compile(name:'baselibrary-release', ext:'aar')
           

細節決定成敗,希望大家引以為戒