Предотвратить Javadoc от сбоя сборки Gradle

Я пытаюсь загрузить свой библиотечный проект в jCenter. когда я бегу gradlew install Я получаю ошибку:

Не удалось выполнить задачу ':myLibraryProject:javadoc'

Я добавил код ниже в мой проект библиотеки:

task androidJavadocs(type: Javadoc) {
    failOnError false // add this line
    source = android.sourceSets.main.java.getSrcDirs()
}

но все же я получаю

"Сбой генерации Javadoc. Сгенерированный файл опций Javadoc..."

Я также попробовал принятый ответ отсюда: генерировать JavaDocs с плагином Android Gradle

Могу ли я отключить генерацию Javadocs, или, может быть, попытаться продолжить сборку, несмотря на сбой?

4 ответа

Я не рекомендую отключать генерацию JavaDoc. Вместо этого попробуйте просто запустить

./gradlew javadoc

Это должно дать вам подробный вывод журнала о предупреждениях и ошибках, которые происходят. Исправление этих ошибок должно предотвратить сбой JavaDoc.

Добавьте эти строки в свой модуль build.gradle

tasks.withType(Javadoc) {
      failOnError false
      options.addStringOption('Xdoclint:none', '-quiet')
      options.addStringOption('encoding', 'UTF-8')
      options.addStringOption('charSet', 'UTF-8')
}

Или вы можете добавить это:

android.libraryVariants.findAll { variant -> variant.name == 'Release' } each { variant ->
    task("generate${variant.name}Javadoc", type: Javadoc) {
        description "Generates Javadoc for $variant.name."
        source = variant.javaCompile.source
        ext.androidJar = "${android.plugin.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
        classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar)
    }

    task("bundle${variant.name}Javadoc", type: Zip) {
        description "Bundles Javadoc into zip for $variant.name."
        classifier = "javadoc"
        from tasks["generate${variant.name}Javadoc"]
    }

В нашем случае проблема заключалась в том, что нам пришлось удалить файлы.gitignore. Они были перечислены в файле javadoc.options. После этого задание успешно завершено.

Запустите приложение без --deviceID. Просто запустите npx react-native run-android . Меня устраивает.

Другие вопросы по тегам