兩者的區別
jar包里只能將庫里的源碼打進去,而資源什么的不能打進去,所以在使用jar包的時候,如果要使用jar包里的資源就要使用反射來實現不然就會有問題!而打arr包的時候AS會自動的將資源文件和源碼一起打進去這樣在使用的時候就不用擔心資源缺失的問題了!
jar包方法:
首先建一個Android Project 就叫AndroidUtil,然后再這個項目中再新建一個Module,在選擇類型的時候要選擇Android Library,這樣做就是將這個Module作為一個庫使用!
然后對這個庫的build.gradle文件進行修改:
箭頭所示的是你在打完jar包之后,jar包的名字,可以自己定義!
task makeJar(type: org.gradle.api.tasks.Copy){
delete 'build/libs/commentUtil.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename('classes.jar','commentUtil.jar')
}
makeJar.dependsOn(build)
修改完之后,我們還需要在AS自帶的命令行中執行一句命令:
gradlew makeJar就可以了,最后打成的jar包就在這個Module下面的build文件夾下的libs文件夾里!
最后提一下如果庫里面如果有使用資源文件,我們就只能將這些資源文件放到我們要使用jar包的工程里,然后通過反射來使用這些資源,這里推薦一篇文章: 反射機制
arr包方法:
首先和上面的步驟差不多,新建個一個Library,然后再用項目去依賴這個Library,做完這些之后就直接運行一下項目,然后再這個Library下面的build/outputs下面就看到了arr包:
這樣導出就完成了。導入App也很簡單,首先把arr包放到工程的libs文件夾下,然后再App的build.gradle文件下添加如下代碼:
這樣就完成了arr包的導入