在创建jar时,Gradle Android jar任务不会将.java文件编译为.class文件

时间:2016-05-23 16:28:39

标签: java android gradle android-gradle

我正在将Android应用程序的遗留perl构建脚本迁移到Gradle。 构建脚本需要几个.java文件并将它们转换为.jar。

但是,当我使用gradle任务创建.jar时,如果我检查它的内容,那么它只包含.java文件,而遗留perl脚本构建的.jar已将.java文件编译成.jar。将文件放在.jar中之前的类文件,另外它还在那里放置了一个classes.dex文件。

这是我目前的jar任务:

task buildJar(type: Jar) {
    archiveName = "com.company.platform.jar"
    from sourceSets.platformJarSourceLocation.java
    destinationDir = file(platformGeneratedFilesDirectory)
}

如何让.jar包含.class而不是.java并包含classes.dex?

1 个答案:

答案 0 :(得分:0)

jar任务只会创建一个包含您提供给它的所有内容的jar。它根本不编译。如果要创建包含class文件的jar,请先运行compileDebug,然后使用ouptput创建jar。 classes.dex的内容相同,生成任务为packageDebug

您可以使用dependsOn确保任务在您的任务之前运行。