2016-05-23 10 views
1

Ich migrieren ein Legacy-Perl-Build-Skript für eine Android-App auf Gradle. Das Erstellungsskript benötigt einige .java-Dateien und wandelt sie in eine .jar-Datei um.Gradle Android-Jar-Aufgabe Kompilieren von .java-Dateien in .class-Dateien beim Erstellen des Jar

Wenn ich jedoch eine GRADLE-Task verwende, um die .jar-Datei zu erstellen, enthält sie nur die .java-Dateien, während die vom Legacy-Perl-Skript erstellte JAR-Datei die .java-Dateien kompiliert hat .class-Dateien, bevor Sie sie in die .jar-Datei einfügen, außerdem hat sie dort auch eine classes.dex-Datei eingefügt.

Dies ist meine aktuelle jar Aufgabe:

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

Wie kann ich die .jar .class- enthalten anstatt .java und die classes.dex aufzunehmen?

Antwort

0

Die jar Aufgabe erstellt nur ein Glas mit allem, was Sie ihm geben. Es kompiliert überhaupt nicht. Wenn Sie ein Jar mit class Dateien erstellen möchten, führen Sie zuvor compileDebug aus, und verwenden Sie dann den Ausgang, um ein Jar zu erstellen. Für classes.dex ist die generierende Aufgabe packageDebug.

Sie können sicherstellen, dass eine Aufgabe vor Ihrer mit dependsOn ausgeführt wird.

Verwandte Themen