2015-09-30 4 views
6

У меня есть сборка отладки и релиз сборки приложения для Android, но мне нужны разные зависимости для каждого, возможно ли это в Android Studio?Имея разные зависимости в классах сборки?

У меня есть раздел:

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

и раздел зависимостей:

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

Я хочу, чтобы удалить Joda конвертирование Зависимость от, если я использую отладки сборки, как это приводит к Ошибка дублирования файлов в упаковке APK.

Любая помощь очень ценится?

+0

Чтобы выразить это, как я могу удалить зависимость при компиляции в режиме отладки? – Apqu

ответ

7

вы можете использовать

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

затем Joda-новообращенный используется только для выпуска

+1

Плотина это действительно так просто! Я предполагаю, что debugCompile будет работать только для отладки тоже? Спасибо за вашу помощь! – Apqu

+0

yes - debugCompile также будет работать - добро пожаловать - если он решит вашу проблему, вы можете принять ответ - также вы можете взглянуть на https://github.com/JakeWharton/ThreeTenABP вместо joda-time – ligi

1

От Android gradle documentation:

Конфигурация compile используется для компиляции основного приложения. Все в нем добавлено к классу классов компиляции и также , упакованных в финальный APK. Существуют и другие возможные конфигурации к добавить зависимостей в:

  • compile: Основное применение
  • androidTestCompile: тестовое приложение
  • debugCompile: отладочных Тип
  • releaseCompile: релиз сборки Тип.
1

Лучше бы быть удаление Joda вообще, это было на самом деле не предназначен для Android, в первую очередь это было на самом деле имел в виду только для Java.

Попробуйте что-то вроде https://github.com/JakeWharton/ThreeTenABP, которое очень похоже и не требует, чтобы вы меняли код.

В ответ на исходный вопрос, однако, используйте releaseCompile и debugCompile, чтобы включить или исключить то, что вам нужно.

+0

Спасибо , лиги упомянул об удалении Джоды тоже, и это то, что я изучаю. – Apqu