Android 项目打包jar,生产sdk供别人使用 可适用 android studio 3.6.x

2,要打包的是项目中的module

新建gradle文件“tojar”,与module build.gradle 同级 .如下图

def jarName = "utils1.0"

//Copy类型,请在Terminal中运行gradlew makeJar
task makeJar(type: Copy) {
    //删除存在的
    delete 'build/libs/' + jarName + ".jar"
    //设置拷贝的文件
    from("build/intermediates/aar_main_jar/debug")
    //打进jar包后的文件目录,将classes.jar放入build/libs/目录下
    into('build/libs/')
    //要打包的jar文件
    include('classes.jar')
    //重命名
    rename('classes.jar', jarName + ".jar")
}
makeJar.dependsOn(build)

//-encoding UTF-8  -charset UTF-8
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

// 生成jar包的sourcesJar,不需要修改。
task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
    archiveName = jarName + '-sources.jar'
}

//生成jarDoc的task,不需要修改。
task javadoc(type: Javadoc) {
    failOnError false
    source = android.sourceSets.main.java.srcDirs
    options.encoding = "UTF-8"
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    classpath += configurations.compile
}

// 生成javaDoc的jar,不需要修改。
task javadocJar(type: Jar, dependsOn: javadoc) {
    group = 'jar'
    classifier = 'javadoc'
    from javadoc.destinationDir
    archiveName = jarName + '-javadoc.jar'
}

task generateJavadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    ext.cp = android.libraryVariants.collect { variant ->
        variant.javaCompile.classpath.files
    }
    classpath = files(ext.cp)
}
artifacts {
    archives sourcesJar
    archives javadocJar
}

 

apply from: 'toJar.gradle'

gradle makeJar

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值