我正在将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?
答案 0 :(得分:0)
jar
任务只会创建一个包含您提供给它的所有内容的jar。它根本不编译。如果要创建包含class
文件的jar,请先运行compileDebug
,然后使用ouptput创建jar。 classes.dex
的内容相同,生成任务为packageDebug
。
您可以使用dependsOn
确保任务在您的任务之前运行。