2016-06-13 6 views
0

In meinem Android Studio-Projekt habe ich ein Java-Modul hinzugefügt, das eine JAR-Datei erzeugt, die vom Hauptmodul verwendet wird. Ich verstehe, dass Gradle alle Module bei jedem Kompiliervorgang neu erstellt, aber es ist klar, dass es für Java-Module nicht benötigt wird, wenn seit dem letzten Build keine Änderungen vorgenommen wurden.Android Studio - Java-Modul für jede Anwendung neu kompiliert

Deshalb möchte ich gradle von Aufbau meiner JAR-Datei verhindern, wenn es keine Code-Änderungen im Java-Modul ist, kann ich nicht solche Option finden

Jede Hilfe sehr geschätzt wird.

Antwort

1

ist es zwei Schritte zu erreichen, was u will:

  1. die Android-Plugin Fragen zu den Bibliotheken vor-dex.

so fügen Sie dexOptions innerhalb der android Halterung

android { 
    dexOptions { 
     preDexLibraries true 
    } 
} 
  1. und der andere Schritt ist Ihr Debug-Build machen das System sein minSdkVersion 21, auf diese Weise bauen als Multi-Dex-Anwendung, so dass es nicht Ihre Dexed-Bibliothek in die APK zusammenführen muss.

Es gibt einen ganzen Abschnitt auf der Entwickler-Seite darüber https://developer.android.com/studio/build/multidex.html#dev-build, aber was wollen Sie ist productFlavors innerhalb der android Klammer zu tun hinzufügen

android { 
productFlavors { 
     // Define separate dev and prod product flavors. 
     dev { 
      // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin 
      // to pre-dex each module and produce an APK that can be tested on 
      // Android Lollipop without time consuming dex merging processes. 
      minSdkVersion 21 
     } 
     prod { 
      // The actual minSdkVersion for the application. 
      minSdkVersion YOUR_APP_MINIMUM_HERE 
     } 
    } 
} 
+0

Dank für Ihre Antwort danken, eigentlich mein Problem nicht verhindern ist, Zusammenführen der JAR-Datei in der APK, ich möchte die Regeneration der JAR selbst zu verhindern, ich denke, die einzige Option ist das Modul zu entfernen und die JAR als Bibliothek hinzufügen – ammcom

+1

Das ist, was die Pre-Dex-Option tun wird. Es wird einmal kompiliert und dann nur wenn geändert oder wenn Sie das Projekt reinigen – Budius

+0

Ok, so dass der Multi-Dex-Anwendungsteil nicht benötigt wird, oder? – ammcom

Verwandte Themen