2015-09-30 10 views
6

Mam kompilację debugowania i kompilację wydania aplikacji dla systemu Android, ale potrzebuję różnych zależności dla każdego, czy jest to możliwe w Android Studio?Masz różne zależności w kompilacjach klas?

mam sekcję:

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

oraz sekcję dla zależności:

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

Chcę usunąć dependancy Joda-konwertować jeśli używam build debugowania gdyż skutkuje "duplikat plików w pakowaniu APK" błąd.

Każda pomoc bardzo doceniana?

+0

Mówiąc w skrócie, w jaki sposób mogę usunąć zależność podczas kompilowania w trybie debugowania? – Apqu

Odpowiedz

7

można użyć

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

następnie Joda-konwertyta jest używany tylko do uwolnienia

+1

Dam, to naprawdę takie proste! Zakładam, że debugCompile będzie działać również dla debugowania? Dzięki za pomoc! – Apqu

+0

yes - debugCompile również będzie działał - nie ma za co - jeśli rozwiązał problem, możesz zaakceptować odpowiedź - również możesz chcieć rzucić okiem na https://github.com/JakeWharton/ThreeTenABP zamiast joda-time – ligi

1

Z Android gradle documentation:

Konfiguracja compile służy do kompilowania główne zastosowanie. Wszystko, co się w nim znajduje, jest dodawane do ścieżki klasy kompilacji i również , pakowane w ostatecznym pakiecie APK. Istnieją inne możliwe konfiguracje do dodaj zależności do:

  • compile: główne zastosowanie
  • androidTestCompile: stosowanie testu
  • debugCompile: debugowania Rodzaj
  • releaseCompile: release Rodzaj budowy.
1

Najprościej byłoby być usunięcie Joda sumie, to nie było przeznaczone dla systemu Android w pierwszej kolejności było naprawdę oznaczało tylko Java.

Wypróbuj coś podobnego do https://github.com/JakeWharton/ThreeTenABP, które jest bardzo podobne i nie powinno wymagać dużej zmiany kodu.

W odpowiedzi na oryginalne pytanie użyj jednak releaseCompile i debugCompile, aby uwzględnić lub wykluczyć to, czego potrzebujesz.

+0

Dzięki wspomniałem również o usunięciu Jody i to jest coś, na co patrzę. – Apqu

Powiązane problemy