AndroidStudio3.6.1打包jar AndroidStudio4.0打包jar AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列问题及用法
雨季余静 人气:0AndroidStudio打包jar
最近更新androidstudio之后发现打包jar不可用了。
先看下以前的方法
更新后新的用法
//Copy类型,请在Terminal中运行gradlew makeJar task makeJar(type: Copy) { //删除存在的 delete 'build/libs/' + jarName + ".jar" //设置拷贝的文件 from("build/intermediates/aar_main_jar/release") //打进jar包后的文件目录,将classes.jar放入build/libs/目录下 into('build/libs/') //要打包的jar文件 include('classes.jar') //重命名 rename('classes.jar', jarName + ".jar") } makeJar.dependsOn(build)
完整用法
1.在lib工程的build.gradle最后添加一句
apply from: 'toJar.gradle'
2.在build.gradle同级目录创建文件toJar.gradle
3.List item在toJar.gradle中填写如下:
def jarName = "utils1.0" //Copy类型,请在Terminal中运行gradlew makeJar task makeJar(type: Copy) { //删除存在的 delete 'build/libs/' + jarName + ".jar" //设置拷贝的文件 from("build/intermediates/aar_main_jar/release") //打进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 }
4.在Terminal中执行gradlew makeJar
5.这个时候再build/libs文件夹下就有自己的jar包了
加载全部内容