生成后的jar包可以单独引用,不用再依赖第三方包

修改库的gradle文件

//1 先Make ricohmfp,生产build/libs/ricohmfp.jar
//2 执行.\gradlew.bat makeJar 生成../app/libs/ricohmfp_1.0.jar


plugins {
    id 'java-library'
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
//    implementation 'com.alibaba:fastjson:1.1.71.android'
//    implementation 'org.slf4j:slf4j-api:1.7.30'
//    implementation 'uk.uuid.slf4j:slf4j-android:1.7.30-0'
//    implementation 'io.netty:netty-all:4.1.31.Final'
//    implementation 'io.netty:netty-handler:4.1.34.Final'
//    implementation 'io.netty:netty-buffer:4.1.34.Final'
//    implementation 'io.netty:netty-transport:4.1.34.Final'
//    implementation 'io.netty:netty-common:4.1.34.Final'
//    implementation 'io.netty:netty-resolver:4.1.34.Final'
//    implementation 'io.netty:netty-codec:4.1.34.Final'
    }

//1 先Make ricohmfp,生产build/libs/ricohmfp.jar
//2 执行.\gradlew.bat makeJar 生成../app/libs/ricohmfp_1.0.jar

/* jar 包名称 */
def jarName = "ricohmfp_1.0";
/* 生成jar包的位置 */
def outputLocal = "../app/libs";
/* 待打包文件位置 */
def zipFile = file("build/libs/ricohmfp.jar")

task makeJar(type: Jar) {
    // 删除存在的
    delete'build/ricohmfp_1.0.jar'

    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
    /* 定义jar包中的主类 */
    /* 定义的主类,在cmd中 调用  java -jar xxx xxx xxx 时,定义的这个主类的 main方法会接受 后面的参数 */
    //manifest.attributes "Main-Class": "net.unifound.ricohmfp"
    from zipTree(zipFile)
    /* 将 assets 目录下文件打进去 */
    /* 语法猜测可能是: */
    /* 来自于 文件(目录:"xx/xx/path", 包含:['xx/所有文件']) */
    from fileTree(dir: "src/main", includes: ['assets/**'])
    /* lib 下的jar中的类,打到jar包中 */
    /* 来自于 project(下的).压缩包("目录path/xxx.jar")) */
    from(project.zipTree("libs/fastjson-1.1.71.android.jar"))
    from(project.zipTree("libs/slf4j-api-1.7.30.jar"))
    from(project.zipTree("libs/UniNettyLib-1.0-SNAPSHOT.jar"))
    from(project.zipTree("libs/netty-handler-4.1.34.Final.jar"))
    from(project.zipTree("libs/netty-buffer-4.1.34.Final.jar"))
    from(project.zipTree("libs/netty-transport-4.1.34.Final.jar"))
    from(project.zipTree("libs/netty-common-4.1.34.Final.jar"))
    from(project.zipTree("libs/netty-resolver-4.1.34.Final.jar"))
    from(project.zipTree("libs/netty-codec-4.1.34.Final.jar"))
    // netty-all的文件更大
//    from(project.zipTree("lib/netty-all-4.1.31.Final.jar"))
    baseName = jarName
    destinationDir = file(outputLocal)
}
makeJar.dependsOn(build)
文档更新时间: 2024-10-23 17:34   作者:方杰