Gradle, как исключить класс/пакет из файла jar зависимостей?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Gradle, как исключить класс/пакет из файла jar зависимостей?

Сообщение Anonymous »

У меня есть плагин Findbugs в моем основном файле build.gradle. Чтобы прекратить жалобы на некоторые проблемы, я добавил annotation.jar и jsr305.jar в папку libs и использую @SuppressFBWarnings везде, где это необходимо.

Я получаю следующую ошибку, когда пытаюсь собрать свой проект.:passenger-

Код: Выделить всё

app:dexTaxDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Ljavax/annotation/CheckForNull;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
at com.android.dx.command.dexer.Main.run(Main.java:277)
at com.android.dx.command.dexer.Main.main(Main.java:245)
at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':passenger-app:dexTaxDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 2
Примечание. Я знаю, что решением является активация мультидекс-приложений для создания приложений с более чем 65 тысячами методов. Я также не верю Progard :(

Итак, я ищу способ исключить класс из зависимого файла jar, если это возможно. У нас есть что-то для модулей, поскольку кажется, что это невозможно для файла jar.

Код: Выделить всё

compile('com.google.android.gms:play-services-analytics:7.3.0') {
exclude group: 'com.google.android.gms', module: 'play-services-base'
}
Что у меня есть в моем основном файле build.gradle

Код: Выделить всё

configure(allprojects) {
apply plugin: 'findbugs'

task findbugs(type: FindBugs) {
ignoreFailures = false
effort = "max"

classes = fileTree('build/intermediates/classes/')
source = fileTree('src/main/java')
classpath = files()

excludeFilter = file("$rootProject.rootDir/config/findbugs/exclude.xml")

reportLevel = "high"
reports {
xml.enabled = false
html.enabled = true
}
}
}
и эти зависимости в моем проекте зависимостей

Код: Выделить всё

dependencies {
....

// Findbugs libs in order to surpass warnings
compile files('src/main/libs/annotations.jar')
compile files('src/main/libs/jsr305.jar')

....
}
любое предложение будет оценено по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/334 ... y-jar-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»