2015-09-30 9 views
6

Ich habe eine Debug-Build und eine Release-Build von einer Android-Anwendung, aber ich brauche unterschiedliche Abhängigkeiten für jeden, ist dies in Android Studio möglich?Haben unterschiedliche Abhängigkeiten in Grade-Builds?

Ich habe den Abschnitt:

buildTypes { 
     debug { 
      minifyEnabled false 
     } 
     release { 
      minifyEnabled true 
     } 
} 

und einen Abschnitt für die Abhängigkeiten:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'joda-time:joda-time:2.7' 
    compile 'org.joda:joda-convert:1.4' 
} 

Ich möchte die joda-konvertieren dependancy entfernen, wenn ich die Debug-Build bin mit so führt dies zu "doppelte Dateien in Verpackung von APK" Fehler.

Jede Hilfe sehr geschätzt?

+0

Um es im Grunde genommen, wie kann ich eine Abhängigkeit beim Kompilieren im Debug-Modus entfernen? – Apqu

Antwort

7

können Sie

releaseCompile 'org.joda:joda-convert:1.4' 

dann für die Freigabe joda-convert ist nur

+1

Dam, es ist wirklich so einfach! Ich nehme an, dass debugCompile nur für das Debuggen funktionieren würde? Danke für Ihre Hilfe! – Apqu

+0

ja - debugCompile würde auch funktionieren - Sie sind willkommen - wenn es Ihr Problem gelöst hat, könnten Sie die Antwort akzeptieren - auch möchten Sie vielleicht einen Blick auf https://github.com/JakeWharton/ThreeTenABP anstelle von joda-Zeit – ligi

1

Vom Android gradle documentation verwendet verwenden:

Die compile Konfiguration die Hauptanwendung zu kompilieren verwendet wird. Alles, was darin enthalten ist, wird dem Kompilationsklassenpfad und auch in der endgültigen APK hinzugefügt. Es gibt andere mögliche Konfigurationen add Abhängigkeiten:

  • compile: Haupt
  • androidTestCompile: Testanwendung
  • debugCompile: Debug-Build-Typ
  • releaseCompile: Release-Build-Typ.
1

Ihre beste Wette würde Joda werden komplett zu entfernen, war es nicht wirklich für Android in erster Linie entwickelt, um es wirklich nur für Java gemeint war.

Versuchen Sie etwas wie https://github.com/JakeWharton/ThreeTenABP das ist sehr ähnlich und sollte nicht verlangen, dass Sie viel Code ändern.

In Antwort auf die ursprüngliche Frage verwenden Sie releaseCompile und debugCompile, um einzuschließen oder auszuschließen, was Sie benötigen.

+0

Vielen Dank , lgi erwähnte auch das Entfernen von Joda und es ist etwas, das ich untersuche. – Apqu

Verwandte Themen