Android Gradle Javadoc nach dem Upgrade auf Gradle 7 gebrochen
Posted: 11 May 2025, 21:37
Ich habe auf die neue Veröffentlichung von Android Studio Arctic Fox aktualisiert, für die jetzt auch Gradle 7 < /p>
Vor dem Upgrade die folgende Javadoc-Aufgabe hatte, die perfekt funktioniert hat: < /p>
< /p>
Ich ändere also die ClassPath-Zeile in:
Ich füge also hinzu:
(Symbolbenachrichtigungen nicht finden. Aufgabe
< /p>
Update: Basierend auf der vorgeschlagenen GIST https://gist.github.com/roByer/a6578e60 ... 3a1291f017, ich änderte meine Aufgabe. (Symbolbenachrichtigungen nicht finden) `
Vor dem Upgrade die folgende Javadoc-Aufgabe hatte, die perfekt funktioniert hat: < /p>
< /p>
Code: Select all
def javaDocsAllowList = [
"com/mycompany/SomeFile.java",
"com/mycompany/OtherFile.java",
...
]
task javadocs(type: Javadoc) {
source android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.compile
include javaDocsAllowList
destinationDir = file("./docs/javadoc")
}
< /code>
Jetzt ist alles kaputt.Could not get unknown property 'compile' for configuration container of type org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer
Code: Select all
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.implementation
< /code>
Dann erhalte ich: < /p>
Resolving dependency configuration 'implementation' is not allowed as it is defined as 'canBeResolved=false'.
Code: Select all
configurations.implementation.setCanBeResolved(true)
< /code>
Dann erhalte ich eine Reihe von Fehlern, dass es kein Symbol für @Nullable und andere Attribute finden kann.afterEvaluate {
javadocs.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})
}
< /code>
Dies behebt die Fehler, die @nonnull usw. auflösenvoid addNotificationsListener(@NonNull NotificationsListener listener);

Code: Select all
task javadocs(type: Javadoc) {
source android.sourceSets.main.java.srcDirs
configurations.implementation.setCanBeResolved(true)
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.implementation
include javaDocsAllowList
destinationDir = file("./docs/javadoc")
afterEvaluate {
javadocs.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})
}
}
Code: Select all
task javadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
android.libraryVariants.all { variant ->
if (variant.name == 'release') {
owner.classpath += variant.javaCompileProvider.get().classpath
}
}
include javaDocsAllowList
destinationDir = file("./docs/javadoc")
}
< /code>
Dies macht jedoch keinen Unterschied; Es wird immer noch den gleichen Fehler, bei dem es meinen eigenen Code nicht [url=viewtopic.php?t=23756]beheben[/url] kann: < /p>
void addNotificationsListener(@NonNull NotificationsListener listener);