Android Studio 3.6.0+ 生成jar

1、新建一个Module:mylibrary

File——》New——》New Module——》Android Library






2、在app模块下添加引用ocrcropimage模块



3、生成打包配置文件

build.gradle同级生成tojar.gradle文件:



tojar.gradle文件:进行如下配置

def jarName = "OcrCropImage"

//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

}


注意:有些版本生成jar包的路径不是"build/intermediates/aar_main_jar/release",要根据实际情况而定

在app下的build.gradle中配置:


4、混淆设置



-keep public class net.ttxc.l4proxyard.L4ProxyArd{  public protected *;}


5、打包jar(推荐)

在Terminal中输入gradlew makeJar来打包jar


第一次打包会比较慢,打包成功之后可以看到BUILD SUCCESSFUL!




在build/libs下看到,打包成功


你可能感兴趣的:(Android Studio 3.6.0+ 生成jar)