一·簡介
Android中常見的第三方庫包括:.so、.jar、*.aar 。一般來說·so是C或C++編寫的內(nèi)容打包成的庫,所以我們暫不探究
二. jar
1.什么是jar?
JAR(Java Archive ,Java歸檔文件)是與平臺(tái)無關(guān)的一種文件格式,它允許將許多文件組合成一個(gè)壓縮文件。以.zip格式為基礎(chǔ),不僅用于壓縮和發(fā)布,還用于部署和封裝庫,組件和插件程序,并且可以被像編譯器和JVM這樣的工具直接使用。
jar包只包含了class文件與清單文件,不包含資源文件(如圖片等所有res中的文件)
打jar包時(shí),項(xiàng)目里的res文件時(shí)用不了的,如果想用圖片文件,可以將圖片文件放進(jìn)assets文件中打進(jìn)jar包在進(jìn)行調(diào)用,但是必須注意jar中assets文件夾里的文件不能和調(diào)用項(xiàng)目里的assets文件夾里的文件重名。
2.jar的優(yōu)點(diǎn)?
優(yōu)點(diǎn):安全性,減少下載時(shí)間,傳輸平臺(tái)擴(kuò)展,包密封,包版本控制,可移植性。
3.打包jar包方法
4.使用jar方式
*·jar拷貝到對(duì)應(yīng)module的libs目錄中,在eclipse直接導(dǎo)入即可,AndroidStudio項(xiàng)目中要添加
api fileTree(include: ['*.jar'], dir: 'libs')
三.aar
1.什么是aar?
Android庫項(xiàng)目的二進(jìn)制歸檔文件,包含所有資源,class以及res資源文件全部包含。
將aar解壓(后綴改為.zip,在解壓文件)打開后,可以看到每個(gè)aar解壓后的內(nèi)容可能不完全一樣,但是都會(huì)包含AndroidManifest.xml,classes.jar,res,R.txt。
2.打aar包方法
3.AndroidStudio使用aar方式
將*.aar拷貝到目標(biāo)mudule的libs目錄下,然后在build.gradle中配置
repositories {
flatDir {
dirs'libs'
}
}
dependencies {
implementation(name:'你拷貝的arr的名字', ext:'aar')
}
四.總結(jié)
jar文件只包含class文件和清單文件,不包含資源文件(如圖片等所有res下的資源文件)
aar包含class,清單文件,R文件及res下的所有資源文件