使用gradle打包指定类为jar包的方法

柳随风
发布于 2020-9-21 13:04
浏览
0收藏

在Android studio中通过gralde脚本打包指定类的为jar包的示例脚本:

 

打包某个包下的所有文件

task clearJar(type: Delete) { 
    delete 'libs/sdk.jar' 
} 

task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
    //指定生成的jar名
    baseName 'sdk'
    //从哪里打包class文件
    from('build/intermediates/classes/debug/org/cmdmac/cloud/pluginsdk/')
    //打包到jar后的目录结构 
    into('org/cmdmac/cloud/pluginsdk/')
    //去掉不需要打包的目录和文件 
    exclude('test/', 'BuildConfig.class', 'R.class')
    //去掉R$开头的文件 
    exclude{ it.name.startsWith('R$');} 
} 

makeJar.dependsOn(clearJar, build)

 

在build.gradle写上后,只要在命令行执行gradle makeJar就可以在build/libs目录下找到这个jar。

上面是个简单的例子,只能打包某个包下面的所有文件,如果要实现只打某个包下面的某些子包或者文件可参考如下示例

task makeSdkJar(type:org.gradle.api.tasks.bundling.Jar) {
    baseName 'pluginsdk'
    //只打包org.cmdmac下的org.cmdmac.pluginsdk.impl和org.cmdmac.gamecenter,其他子包不会被打包进去
    from('build/intermediates/classes/debug/org/cmdmac/') {
        include 'pluginsdk/impl'
        include 'gamecenter'
    }
    into('org/cmdmac/')
}

 

 

作者:ai-exception

来源:CSDN

分类
收藏
回复
举报
回复
    相关推荐