Android中常見的第三方庫包括:.so通殃、.jar、.aar厕宗。
一画舌、jar
1、說明
只包含了class文件與清單文件 已慢,不包含資源文件曲聂,如圖片等所有res中的文件。
jar(Java Archive佑惠,Java 歸檔文件)是與平臺無關(guān)的文件格式朋腋,它允許將許多文件組合成一個壓縮文件。
jar的優(yōu)點(diǎn):安全性膜楷、減少下載時間旭咽、傳輸平臺擴(kuò)展、包密封赌厅、包版本控制穷绵、可移植性。
打jar包時察蹲,項(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.reibang.com/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文件。