一、什么是jar包和arr包??jī)烧哂泻螀^(qū)別?
JAR(Java Archive,Java 歸檔文件)是與平臺(tái)無(wú)關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文
件。JAR是 Java 的一種文檔格式,是一種與平臺(tái)無(wú)關(guān)的文件格式,可將多個(gè)文件合成一個(gè)文件。只包含了class文件與清單文件 ,不包含資源文件,如圖片等所有res中的文件。
JAR的優(yōu)點(diǎn):安全性、減少下載時(shí)間、傳輸平臺(tái)擴(kuò)展、包密封、包版本控制、可移植性。
2.Android庫(kù)項(xiàng)目的二進(jìn)制歸檔文件,包含所有資源,class以及res資源文件全部包含。
將aar解壓(后綴改為.zip,再解壓文件)打開(kāi)后,可以看到每個(gè)aar解壓后的內(nèi)容可能不完全一樣,但
是都會(huì)包含AndroidManifest.xml,classes.jar,res,R.txt。
3.區(qū)別:打 JAR 包,項(xiàng)目里面的 res 文件不可用,如果想用圖片文件,可將圖片放進(jìn) assets 文件打進(jìn)
jar 包,但注意 jar 文件夾里面的文件不能和調(diào)用項(xiàng)目里面的 assets 文件里面的文件重名。 aar 是
Android 庫(kù)項(xiàng)目的二進(jìn)制歸檔文件,包含所有資源,class 以及 res 資源文件。
二、如何使用AndroidStudio打包為jar包和arr包
打包jar
新建模塊library,將需要打包的代碼寫(xiě)在library里

注:Android Library,創(chuàng)建Android類(lèi)庫(kù),將平時(shí)總結(jié)的TeachCourse Android 源碼Demo封裝成類(lèi)庫(kù)的形式,想要選中該項(xiàng),然后可以在多個(gè)module中引用。
打開(kāi)library下的build-gradle,并添加如下代碼
task addMakeJar(type: Copy) {
//刪除存在的
delete 'build/libs/myjar.jar'
//設(shè)置拷貝的文件
//從這個(gè)目錄下取出默認(rèn)jar包,不同版本目錄均不一樣,根據(jù)自己項(xiàng)目在build中找classes.jar所在目錄
from('build/intermediates/compile_library_classes_jar/release/')
//打進(jìn)jar包后的文件目錄
into('build/libs/')
//將classes.jar放入build/libs/目錄下
//include ,exclude參數(shù)來(lái)設(shè)置過(guò)濾
//(我們只關(guān)心classes.jar這個(gè)文件)
include('classes.jar')
//重命名
rename ('classes.jar', 'myjar.jar')
}
addMakeJar.dependsOn(build)

完成后點(diǎn)擊sync now,再打開(kāi)右上角的gradle

會(huì)發(fā)現(xiàn)在library包下的tasks->other有了我們剛剛添加的task addMakeJar,雙擊運(yùn)行

成功

打包arr
其實(shí)AndroidStudio會(huì)自動(dòng)生成arr文件

三、如何使用jar和arr包?
使用jar包
將jar包導(dǎo)入libs目錄下,右鍵選擇add as library即可

使用arr包
將arr放入使用的項(xiàng)目模塊中,在項(xiàng)目的build.gradle寫(xiě)入
implementation files('libs/mylibrary-release.arr')

四、問(wèn)題匯總:
打包jar時(shí)未找到classes.jar包,導(dǎo)致未成功
解決辦法:打開(kāi)build/intermediates/compile_library_classes_jar/release/,觀(guān)察是否存在classes.jar
若不存在,則找到自己項(xiàng)目中的classes.jar包,修改from代碼
library下沒(méi)有build目錄
解決辦法:打開(kāi)選中l(wèi)ibrary文件,點(diǎn)擊build編譯module

右上角打開(kāi)gradle發(fā)現(xiàn)沒(méi)有tasks

解決辦法:打開(kāi)setting,關(guān)閉紅色行打勾處文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-775559.html

重新同步項(xiàng)目文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-775559.html

到了這里,關(guān)于Android常用的第三方庫(kù)--.jar、.aar的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!