Android中常見的第三方庫包括:.so、.jar、.aar。
一、jar
1、說明
只包含了class文件與清單文件 ,不包含資源文件,如圖片等所有res中的文件。
jar(Java Archive,Java 歸檔文件)是與平臺無關(guān)的文件格式,它允許將許多文件組合成一個壓縮文件。
jar的優(yōu)點(diǎn):安全性、減少下載時(shí)間、傳輸平臺擴(kuò)展、包密封、包版本控制、可移植性。
打jar包時(shí),項(xiàng)目里的res文件是用不了的,若想用圖片文件,可以將圖片文件放進(jìn)assets文件里面打進(jìn)jar包再進(jìn)行調(diào)用,但必須注意jar里面assets文件夾里面的文件不能和調(diào)用項(xiàng)目里面assets文件夾里面的文件重名。
2、打jar包方法:
網(wǎng)上方法很多也很詳細(xì),不再贅述,給個鏈接:http://blog.csdn.net/u013895206/article/details/52692415
3、使用jar包方式:
首先在project視圖下,把jar包放到libs文件夾里(如app/libs),然后是引用方法。
方法1:
// 在模塊的build.gradle文件中添加依賴,并Sync Project
dependencies {
implementation files('***.jar')
}
方法2:
在拷貝完jar到libs目錄后,右擊添加的jar包,在彈出的選項(xiàng)中選擇Add As Library。之后會彈出模塊選擇,選中需要使用jar包的目錄。
二、aar
1、說明
Android庫項(xiàng)目的二進(jìn)制歸檔文件,包含所有資源,class以及res資源文件全部包含。
將aar解壓(后綴改為.zip,再解壓文件)打開后,可以看到每個aar解壓后的內(nèi)容可能不完全一樣,但是都會包含AndroidManifest.xml,classes.jar,res,R.txt。
2、打aar包方法:
網(wǎng)上方法很多也很詳細(xì),不再贅述,給個鏈接:http://www.itdecent.cn/p/f391d0a6691e
3、使用aar包方式:
首先在project視圖下,將aar包放到libs文件夾里(如app/libs)。
然后需要在使用的模塊的build.gradle文件中添加如下配置:
repositories {
flatDir {
dirs 'libs'
}
}
最后在dependencies中添加配置:
dependencies {
// name為需要引用的aar包的文件名
compile(name: 'test', ext: 'aar')
}
三、so
1、說明
·so庫是C或C++編寫的內(nèi)容打包成的庫。
2、打so庫方法:
so庫其實(shí)不用打包,因?yàn)槲覀円呀?jīng)在CMakeLists文件中指定了so庫的輸出路徑。點(diǎn)擊Build > Make module '***',然后去文件管理器里看一下,會生成一個jniLibs文件夾,里面包含了指定cpu架構(gòu)的so文件。

3、使用so庫方式:
首先在project視圖下,將不同CPU架構(gòu)的so文件放到libs文件夾里(如app/libs)。
然后在build.gradle文件中的android{ }結(jié)點(diǎn)里添加如下配置:
android {
// 其余省略
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
四、如何選擇jar和aar
如果你只是一個簡單的類庫那么使用生成的.jar文件即可;
如果你的是一個UI庫,包含一些自己寫的控件布局文件以及字體等資源文件那么就只能使用.aar文件。