gradle直接打jar包

为什么80%的码农都做不了架构师?>>>   hot3.png

最近项目需要直接打jar包出来,之前图省事儿打aar后把里面jar包拿出来改名,最近这项目用的多,感觉很麻烦。学习了一下直接打jar包的方式。

static def releaseTime() {
    return new Date().format("yyyyMMddHHmm", TimeZone.getDefault())
}

//删除 旧的.jar包 任务
task clearJar(type: Delete) {
    FileTree tree = fileTree("build/libs/")
    tree.visit {
        element ->
            if (element.getName().endsWith(".jar")) {
                println "$element.file.name" + " " + element.getName()
                delete element.file
            }
    }
}
task makeJar(type: Jar){
    //指定生成的jar名
    baseName 'xxx'+ releaseTime()
    //从哪里打包class文件
    from('build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/hd/test/sdk/')
    //打包到jar后的目录结构
    into('com/hd/test/sdk/')
    //去掉不需要打包的目录和文件
    exclude('BuildConfig.class','R.class')
    //去掉R$开头的文件
    exclude{it.name.startsWith('R$')}
}
makeJar.dependsOn(clearJar,build)

 

写道library的gradle配置中。在右侧Gradle栏,项目中的other中找到makeJar 打包生成。

转载于:https://my.oschina.net/ldhy/blog/3030979

你可能感兴趣的:(gradle直接打jar包)