Android Library就是一個(gè)沒有界面的應(yīng)用程序,一般很少單獨(dú)存在,一般我們是把經(jīng)常用到的應(yīng)用層的邏輯抽出來放在Library里面,當(dāng)然一些常用的第三方的庫也會采用這種方式。
打包jar
- 新建一個(gè)Library,這個(gè)在studio里面很簡單就可以做到。
- 當(dāng)邏輯寫完之后,需要配置grade文件,代碼如下:
task makeJar(type: Copy) {
//刪除存在的
delete 'build/libs/mysdk.jar'
//設(shè)置拷貝的文件
from('build/intermediates/bundles/release/')
//打進(jìn)jar包后的文件目錄
into('build/libs/')
//將classes.jar放入build/libs/目錄下
//include ,exclude參數(shù)來設(shè)置過濾
//(我們只關(guān)心classes.jar這個(gè)文件)
include('classes.jar')
//重命名
rename ('classes.jar', 'mysdk.jar')
}
- 配置之后,在AndroidStudio中的Terminal中輸入:
./gradlew makeJar
- 完成之后,生成的jar包就會出現(xiàn)在libs路徑下面了。
- 引用jar包,添加如下代碼:
repositories {
flatDir { //添加在android()里面
dirs 'libs'
}
}
compile files('libs/mysdk.jar')
以上便可以開始使用jar包了,簡單說一下jar包里面最好是不要有靜態(tài)資源文件的,因?yàn)槭窃L問不到的,如果要訪問靜態(tài)文件需要利用java的反射機(jī)制,來獲取添加依賴項(xiàng)目的靜態(tài)資源。當(dāng)然,如果我們的Library里面有動態(tài)庫(用c寫的so文件),也是訪問不到的,這時(shí)我們可以采用aar文件。
打包aar文件
1.新建一個(gè)Library
2.Rebuild一下代碼,就可以在Library -> build -> outputs -> aar -> xxx.aar 找到了
3.添加到想要依賴的項(xiàng)目的libs目錄下
4.修改gradle代碼
repositories {
flatDir { //添加在android()里面
dirs 'libs'
}
}
compile(name:'DotEngine-debug', ext:'aar')
以上我們便可以使用了。