須知
jar: 只包含了class文件與清單文件 ,不包含資源文件,如圖片等所有res中的文件。
aar: 包含jar包和資源文件,如圖片等所有res中的文件
生成Jar包
項目結構一般如下
執行一下build
在mylibarary的build.gradle中添加幾行代碼。(直接粘貼在最底下就行了,其中mysdk就是要生成的jar的命名,這個隨意),最後記得同步一下
//Copy類型
task makeJar(type: Copy) {
//刪除存在的
delete 'build/libs/mysdk.jar'
//設置拷貝的文件
from('build/intermediates/bundles/release/')
//打進jar包後的文件目錄
into('build/libs/')
//將classes.jar放入build/libs/目錄下
//include ,exclude參數來設置過濾
//(我們只關心classes.jar這個文件)
include('classes.jar')
//重命名
rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(build)
然後再terminal中,輸入gradlew makeJar,回車執行,build successful就是執行成功。然後切換到如圖所示位置,這個就是要生成的jar文件
可以測試下 取消app對library的依賴,然後引用jar包,ok….
生成aar文件
build一下mylibrary就可以切換到如圖所示目錄,標紅處就是生成的aar,調試版和發佈版都可以使用
使用如下圖
引用的代碼
repositories { flatDir { dirs 'libs' } }
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile(name:'mylibrary-debug', ext:'aar')
}
同步build一下就可以了