应用场景
在实际开发中我们想要把我们依赖的library 打包成jar 依赖到工程中。废话不多说,马上开始。
library 打包成jar
配置 gradle 文件
将 library 打成jar 非常简单,将下面代码添加到library 中的 build.gradle 文件中。
def SDK_BASENAME = "TestSdk";
def SDK_VERSION = "_V1.0";
def sdkDestinationPath = "build";
def zipFile = file('build/intermediates/bundles/release/classes.jar')
task deleteBuild(type: Delete) {
delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}
task makeJar(type: Jar) {
from zipTree(zipFile)
from fileTree(dir: 'src/main',includes: ['res/**'])
baseName = SDK_BASENAME + SDK_VERSION
destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild, build)
说明:
- sdkDestinationPath : 设置生成的jar包输出的路径
- baseName : 生成jar包的名字
注意:
- 这段代码可以将 library 中的资源文件打到jar 包中,但是像layout 等文件目前还不知道如何引用,网上说不能直接引用,我也试了不可以直接引用。如果有人知道请分享一下大家一起学习一下。
- 项目只能是library,而不能是application,也就是说我们的gradle中
app plugin
应该是:apply plugin: 'com.android.library'
from fileTree(dir: 'src/main',includes: ['res/**'])
这段代码是将 资源文件打入jar 包的代码。
生成jar
- 首先打开Android Studio IDE 中的gradle 操作页面
- 找到对应 library 名字打开 Tasks
- 打开Tasks 找到other 目录,在other 目录下有makejar
- 双击 makejar 。message 窗口会提示
Information:BUILD SUCCESSFUL
说明:
other 目录下的 makejar 是和library 中 gradle 中task makejar
相对应的,makejar 不是固定的。
网友评论