Android Library就是一個沒有界面的應(yīng)用程序,一般很少單獨(dú)存在,一般我們是把經(jīng)常用到的應(yīng)用層的邏輯抽出來放在Library里面寇漫,當(dāng)然一些常用的第三方的庫也會采用這種方式尿扯。
打包jar
- 新建一個Library,這個在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這個文件)
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文件)战惊,也是訪問不到的,這時我們可以采用aar文件同欠。
打包aar文件
1.新建一個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')
以上我們便可以使用了横缔。