Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle Android jar任务创建jar时不将.java文件编译为.class文件_Java_Android_Gradle_Android Gradle Plugin - Fatal编程技术网

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

Gradle Android jar任务创建jar时不将.java文件编译为.class文件,java,android,gradle,android-gradle-plugin,Java,Android,Gradle,Android Gradle Plugin,我正在将android应用程序的传统perl构建脚本迁移到Gradle。 构建脚本获取两个.java文件并将它们转换为.jar 然而,当我使用gradle任务生成.jar时,如果我检查它的内容,那么它只包含.java文件,而由遗留perl脚本构建的.jar在将.java文件放入.jar之前已将其编译成.class文件,此外,它还将一个classes.dex文件放入其中 这是我当前的jar任务: task buildJar(type: Jar) { archiveName = "com.c

我正在将android应用程序的传统perl构建脚本迁移到Gradle。 构建脚本获取两个.java文件并将它们转换为.jar

然而,当我使用gradle任务生成.jar时,如果我检查它的内容,那么它只包含.java文件,而由遗留perl脚本构建的.jar在将.java文件放入.jar之前已将其编译成.class文件,此外,它还将一个classes.dex文件放入其中

这是我当前的jar任务:

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

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

任务只需创建一个jar,其中包含您提供给它的所有内容。它根本不编译。如果要使用
文件创建jar,请在之前运行
compiledBug
,然后使用输出创建jar。对于
classes.dex
,生成任务是
packageDebug

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