Gradle, wie kann ich eine Klasse/ein Paket aus der Abhängigkeits-JAR-Datei ausschließen?
Posted: 11 Jan 2025, 11:03
Ich habe das Findbugs-Plugin in meiner Hauptdatei build.gradle. Um die Beschwerden zu stoppen und einige Probleme zu beachten, habe ich annotation.jar und jsr305.jar zu meinem libs-Ordner hinzugefügt und verwende @SuppressFBWarnings, wo immer es nötig ist.
Ich erhalte die folgende Fehlermeldung, wenn ich versuche, mein Projekt zu erstellen:passenger-
Hinweis: Ich weiß, dass eine Lösung darin besteht, Multidex-Building-Apps mit über 65.000 Methoden zu aktivieren. Ich glaube auch nicht an Progard 
Also suche ich nach einer Möglichkeit, eine Klasse aus der abhängigen JAR-Datei auszuschließen, wenn es möglich ist. Wir haben etwas für Module Dies scheint für die JAR-Datei nicht möglich zu sein.
Was ich in meiner Hauptdatei build.gradle habe
und diese Abhängigkeiten in meinem Abhängigkeitsprojekt
Jeder Vorschlag wäre willkommen.
Ich erhalte die folgende Fehlermeldung, wenn ich versuche, mein Projekt zu erstellen:passenger-
Code: Select all
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

Also suche ich nach einer Möglichkeit, eine Klasse aus der abhängigen JAR-Datei auszuschließen, wenn es möglich ist. Wir haben etwas für Module Dies scheint für die JAR-Datei nicht möglich zu sein.
Code: Select all
compile('com.google.android.gms:play-services-analytics:7.3.0') {
exclude group: 'com.google.android.gms', module: 'play-services-base'
}
Code: Select all
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
}
}
}
Code: Select all
dependencies {
....
// Findbugs libs in order to surpass warnings
compile files('src/main/libs/annotations.jar')
compile files('src/main/libs/jsr305.jar')
....
}