最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AndroidStudio 如何使用aar詳解

 更新時間:2016年09月08日 09:25:21   投稿:lqh  
本文主要介紹AndroidStudio 如何使用aar的資料,這里整理了詳細(xì)的資料,幫助大家學(xué)習(xí)理解此部分的知識,有需要的小伙伴可以參考下

一. 簡介

aar 是一個類似于 jar 的文件格式。但是他們之間是有區(qū)別的。

jar :僅僅包含class和清單文件,沒有資源文件。

aar :包含了class文件和資源文件。說白了就是Android的專屬“jar”

將代碼打包成aar文件,可以在一定程度上加快 AndroidStudio 的速度。

尤其是將 Module 打包成 aar 文件,提升的效果很顯著。

二. 如何得到aar

1. Module的aar文件

將一個AndroidStudio項目中的 Module 打包成 aar 其實很簡單。

在每一個 Module 的目錄下面都會有這樣一個文件夾: build\outputs\aar 。

這個文件夾下面就放著這個 Module 對應(yīng)的 aar 文件。

一般情況下會有兩個 aar 文件,一個 debug 版本,一個 release 版本。

我們選擇 release 的就ok。

AAR文件圖示

注意:

新建的Module是沒有這個文件夾的。這時,你可以使用 兩種方法 生成這個文件夾

將整個項目運(yùn)行一遍,這個文件夾會自動生成
執(zhí)行命令 ./gradlew assembleRelease 也可以生成這個文件夾

2. 遠(yuǎn)程倉庫的aar

在項目里面經(jīng)常會引用一下遠(yuǎn)程倉庫的依賴庫。

這時,我們也可以將它以 aar 的形式引入到項目中。

這個依賴庫的aar其實也很好找。

當(dāng)你配置好一個依賴庫以后,點擊 Sync Now 。

AndroidStudio會自動下載這個庫到C盤(windows)。你找到這個文件就可以了。

這里我使用的是 Everything 進(jìn)行搜索,很方便就找到這個庫的下載文件夾。其他操作系統(tǒng)就自行搜索吧,總之找見這個項目的下載文件夾就ok。

這個下載文件夾中包含了這個項目所需要的所有東西:包括 aar 、 jar 等文件。

后面會以一個例子詳細(xì)講解這個過程

注:

Everything是一個搜索軟件,可以瞬間搜索全盤。

是一個非常實用的軟件。但是很可惜只有windows版本。

官網(wǎng)地址: https://www.voidtools.com/

三. 如何使用aar

想要使用aar文件,需要經(jīng)過以下幾步:

1. 在app的build.gradle中加入以下配置

repositories { 
 flatDir { 
 dirs 'libs' // aar目錄
 }
}

2. 將aar文件拷貝到app/libs目錄下

3. 在dependencies中加入aar引用

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

四. LeakCanary項目示例

因為Module的例子比較簡單,所以選擇遠(yuǎn)程代碼庫作為示例。

這里使用一個經(jīng)常使用的內(nèi)存檢測項目 LeakCanary 來做一個示例。

我們通常使用依賴來使用這個庫:

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'

當(dāng) Sync Now 完成后,我們可以在C盤(windows)找見這個項目文件夾。

該項目文件夾截圖如下:

LeakCanary項目示例圖

這個文件夾下面就有我們需要的兩個依賴庫: leakcanary-android 和 leakcanary-android-no-op
點開 leakcanary-android文件夾 ,目錄結(jié)構(gòu)如下( 1.3是對應(yīng)的版本號 ):

leakcanary-android文件夾

打開最里層的文件夾,你會發(fā)現(xiàn)文件的類型主要有三種:

  1. jar文件 :有的項目是以jar文件形式提供
  2. aar文件 :有的項目是以aar文件形式提供
  3. pom文件 : (Project Object Model),實際上就是個xml,是對一些必要信息的說明。這里我們只關(guān)心一個節(jié)點信息: <dependencies>:聲明依賴列表

我們用文本編輯器打開 leakcanary-android文件夾 下面的pom文件:

...
<dependencies>
 <dependency>
 <!--包組 id,通常是發(fā)布者擁有的域名的反向,以免跟別人的重復(fù)-->
 <groupId>com.squareup.leakcanary</groupId>
 <!--包 artifactId,其實就是組以下應(yīng)該有一個更小的歸類-->
 <artifactId>leakcanary-analyzer</artifactId>
 <!--版本號-->
 <version>1.3</version>
 <scope>compile</scope>
 </dependency>
</dependencies>
...

想更多了解pom文件, 點擊這里

當(dāng)我們打開 leakcanary-android 的pom文件,

我們發(fā)現(xiàn) leakcanary-android 依賴于 leakcanary-analyzer 的1.3版本。

同樣的的我們打開 leakcanary-analyzer 的pom文件,

發(fā)現(xiàn) leakcanary-analyzer 依賴 leakcanary-watcher 和 haha 。

leakcanary-watcher 和 haha 則沒有依賴任何東西。

這樣整個leakcanary-android導(dǎo)入本地的東西就是四個:

  1. leakcanary-android
  2. leakcanary-analyzer
  3. leakcanary-watcher
  4. haha

同樣的方式去一層一層解析 leakcanary-android-no-op ,將所有需要的文件都導(dǎo)入到AndroidStudio中。這樣整個 LeakCanary 就被我們真正實現(xiàn)本地化了。

兩種結(jié)果對比如下:

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'

debugCompile(name: 'leakcanary-android-1.3', ext: 'aar')
compile files('libs/leakcanary-analyzer-1.3.jar')
compile files('libs/leakcanary-watcher-1.3.jar')
compile files('libs/haha-1.1.jar')
releaseCompile(name: 'leakcanary-android-no-op-1.3', ext: 'aar')
這樣就將整個LeakCanary項目完全轉(zhuǎn)換成了本地的依賴。

http://www.jianshu.com/p/59efa895589e

 

 

 

 

 

相關(guān)文章

  • Android中關(guān)于Binder常見面試問題小結(jié)

    Android中關(guān)于Binder常見面試問題小結(jié)

    這篇文章主要介紹了Android中關(guān)于Binder幾個面試問題,binder是一種進(jìn)程間通訊的機(jī)制,進(jìn)程間通訊需要了解用戶空間和內(nèi)核空間,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • android書架效果實現(xiàn)原理與代碼

    android書架效果實現(xiàn)原理與代碼

    以前也模仿者ireader實現(xiàn)了書架的效果,但是那種是使用listview實現(xiàn)的,并不好用,今天介紹android書架效果實現(xiàn)方法
    2013-01-01
  • Android開發(fā)技巧之我的菜單我做主(自定義菜單)

    Android開發(fā)技巧之我的菜單我做主(自定義菜單)

    Android SDK本身提供了一種默認(rèn)創(chuàng)建菜單的機(jī)制,雖然功能上還不錯,但是界面的美觀度不是很理想,本結(jié)介紹一種實現(xiàn)方法:就是通過onKeyDown事件方法和PopupWindow實現(xiàn)自定義的菜單,感興趣的朋友可以了解下
    2013-01-01
  • Android Canvas繪制文字橫縱向?qū)R

    Android Canvas繪制文字橫縱向?qū)R

    這篇文章主要介紹了Android Canvas繪制文字橫縱向?qū)R,Align屬性決定了使用該畫筆時,相較于繪制點的水平對稱方式,分別是LEFT、CENTER、RIGHT,更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容
    2022-06-06
  • Android在自定義類中實現(xiàn)自定義監(jiān)聽器方式

    Android在自定義類中實現(xiàn)自定義監(jiān)聽器方式

    這篇文章主要介紹了Android在自定義類中實現(xiàn)自定義監(jiān)聽器方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android 獲取判斷是否有懸浮窗權(quán)限的方法

    Android 獲取判斷是否有懸浮窗權(quán)限的方法

    今天小編就為大家分享一篇Android 獲取判斷是否有懸浮窗權(quán)限的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Android對sdcard擴(kuò)展卡文件操作實例詳解

    Android對sdcard擴(kuò)展卡文件操作實例詳解

    這篇文章主要介紹了Android對sdcard擴(kuò)展卡文件操作,非常實用的技術(shù),需要的朋友可以參考下
    2014-07-07
  • Android編程簡單解析JSON格式數(shù)據(jù)的方法示例

    Android編程簡單解析JSON格式數(shù)據(jù)的方法示例

    這篇文章主要介紹了Android編程簡單解析JSON格式數(shù)據(jù)的方法,結(jié)合實例形式分析了Android編程解析json格式數(shù)據(jù)的實現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Android Studio調(diào)試功能使用匯總

    Android Studio調(diào)試功能使用匯總

    這篇文章主要為大家詳細(xì)介紹了Android Studio調(diào)試功能使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android布局性能優(yōu)化之按需加載View

    Android布局性能優(yōu)化之按需加載View

    這篇文章主要介紹了Android布局性能優(yōu)化之按需加載View的相關(guān)資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09

最新評論

桂林市| 开江县| 醴陵市| 宣威市| 澄江县| 中西区| 雷山县| 紫金县| 大冶市| 灵璧县| 图片| 绥德县| 盐边县| 龙里县| 十堰市| 库伦旗| 科尔| 诸城市| 黔南| 江油市| 青阳县| 昌黎县| 湖南省| 隆昌县| 冀州市| 孝感市| 巴里| 榆林市| 常山县| 文昌市| 西城区| 鹤山市| 和田市| 嫩江县| 阳江市| 宝鸡市| 巴林右旗| 金川县| 尉犁县| 沁水县| 苍南县|