【问题标题】:Jar is not generated after running build task in android gradle 3.6.1在 android gradle 3.6.1 中运行构建任务后未生成 Jar
【发布时间】:2020-06-24 07:06:26
【问题描述】:

我的 build jar 任务在 3.5.3 年级可以正常工作,但在 3.6.1 年级就不行了。我检查了我的构建文件,但是,/build/intermediates/packaged-classes/ 目录奇怪地丢失了。

gradle 脚本:

task buildJar(dependsOn: ['build'], type: Jar) {
    doFirst {
        manifest {
            attributes 'Jar-VersionName': jarVersionName
            attributes 'Jar-VersionCode': jarVersionCode
        }
    }
    from zipTree(file('build/intermediates/packaged-classes/release/classes.jar'))
    appendix = ""
    baseName = "pp"
    version = jarVersionName + "_" + jarVersionCode
    classifier = "release"
    extension = "jar"
    destinationDir = file('build/libs/')
}

//dx --dex --output=target.jar origin.jar
task buildDex(dependsOn: ['buildJar'], type: Exec) {
    workingDir buildDir.absolutePath + "/libs"
    executable "dx"
    args "--dex"
    args "--output=" + buildJar.archiveName
    args buildJar.archiveName
}

错误日志:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':p2p:buildJar'.
> Cannot expand ZIP '/Users/william/AndroidStudioProjects/Work/lib_plugin/project/build/intermediates/packaged-classes/release/classes.jar' as it does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

我环顾四周,显然我可以在这些解决方案之间进行选择,但它们对我来说太旧了。

No release bundle folder after upgrading Android Studio

.jar file not generating in android studio

Gradle not generate jar

那么,生成的jar的新路径在哪里?

【问题讨论】:

    标签: android gradle build


    【解决方案1】:

    我找到了!当我将 gradle 版本升级到 4.0 时,我在 build/intermediates/aar_main_jar/release/classes.jar 路径中找到了 class.jar

    所以,完整的构建任务代码如下:

    def jarPath = buildDir.absolutePath + "/libs"
    def jarBaseName = "plugin"
    
    task buildJar(dependsOn: ['build'], type: Jar) {
        doFirst {
            manifest {
                attributes 'Jar-VersionCode': jarVersionCode
            }
        }
        from zipTree(file('build/intermediates/aar_main_jar/release/classes.jar'))
        // [archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension]
        archiveBaseName = jarBaseName
        archiveAppendix = null
        archiveVersion = "$jarVersionName-$jarVersionCode"
        archiveClassifier = "release"
        archiveExtension = "jar"
        destinationDirectory = file(jarPath)
    }
    
    // dx --dex --output=target.jar origin.jar
    task buildDex(dependsOn: ['buildJar'], type: Exec) {
        workingDir jarPath
        executable "dx"
        args "--dex"
        args "--output=" + buildJar.archiveFileName.get()
        args buildJar.archiveFileName.get()
    }
    

    【讨论】:

    • 看在上帝的份上。为什么他们不断改变一些愚蠢的小事,破坏一切。这种环境很荒谬。
    • 为我工作谢谢!
    猜你喜欢
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 2018-11-15
    • 2015-08-31
    • 2020-07-26
    • 2015-10-04
    相关资源
    最近更新 更多