Android開發中jar只包含了class和清單文件,並不包含res文件夾下的文件,例如一些圖片和佈局文件等。
aar是包含jar以及這些圖片和佈局啥的,所以在studio的開發中,共享帶資源的lib非常方便,同時aar也可以給eclipse使用,只是要麻煩一點。
生成AAR
aar在studio中以library形式存在的,所以我們需要在項目中創建一個library。
File--New--NewModel--Android Library
這樣一個新的Library(Model)就新建出來了,這時候就像是平常開發一樣往這個Lib寫代碼就好了。
寫好之後需要build,點擊build按鈕之後,在Model模塊下會多出一個build的文件夾,build/outputs/aar目錄下會有一個模塊名稱-debug.aar的文件,這就是傳說中的aar文件了。
在Eclipse中使用
1、首先需要解壓這個aar文件(可以改名然後用壓縮軟件解壓)
tar -xzf xxxx.aar
2、解壓之後,會有一堆的文件夾,這時候我們關心的就2個,一個是res文件、另一個是classes.jar
3、在eclipse中新建一個空的Android項目,在libs文件放入classes.jar和其它用到的lib,這裏需要注意的是由於很多情況下eclipse並不使用gradle,所以如果開發用到的jar包可以通過maven下載jar包放進去。
4、放入res的文件資源
5、設置本項目爲lib項目
右擊項目--Propeties--Android--isLibrary打勾
6、修改menifest的包名,讓其和studio開發過程中的包名一樣,然後build,讓其生成R文件
7、在調用的主項目menifest註冊lib的activity server還有一些權限等
在Studio中使用
1、拷貝aar文件到項目中的libs文件夾下
2、gradle添加一下代碼(假設這個aar的文件名叫做myLib.aar)
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'myLib', ext:'aar')
}
3、在主項目添加activity、service的聲明,但是user-permission可以不用再次聲明。