Отправка библиотеки Android в jCenter. Ошибка javadoc.

Я пытаюсь загрузить библиотеку в jCenter, следуя этой инструкции:

http://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en

Проблема возникает, когда я делаю./gradlew установить. Когда генерируется Javadoc, я получаю много ошибок, как эта:

/src/main/java/communicationManager/datareceiver/DeviceShimmer.java:7: error: package com.shimmerresearch.android does not exist
import com.shimmerresearch.android.Shimmer;

По сути, в моем модуле Android Studio есть несколько библиотек jar, которые мне нужно использовать, и они не находят их при создании javadoc. Я попытался добавить следующее в мой модуль build.gradle, но безуспешно:

task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    options.links("http://docs.oracle.com/javase/7/docs/api/");
    options.linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference"
    exclude '**/BuildConfig.java'
    exclude '**/R.java'
    failOnError = false
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
    classifier = 'javadoc'
    from androidJavadocs.destinationDir
}

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.sourceFiles
}

artifacts {
    archives androidSourcesJar
    archives androidJavadocsJar
}

Вот так выглядит мой проект build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.exampleapp"
        minSdkVersion 18
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'libs/commons-math-2.2.jar'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile project(':mymodule')
}

А вот так выглядит мой модуль build.gradle:

apply plugin: 'com.android.library'

ext {
    bintrayRepo = 'maven'
    bintrayName = 'name'

    publishedGroupId = 'com.name'
    libraryName = 'name'
    artifact = 'name'

    libraryDescription = 'description'

    siteUrl = 'https://github.com/...'
    gitUrl = 'https://github.com/...'

    libraryVersion = '2.0.1'

    developerId = '...'
    developerName = '...'
    developerEmail = '...'

    licenseName = 'GPL-3.0'
    licenseUrl = 'http://www.gnu.org/licenses/gpl-3.0.en.html'
    allLicenses = ["GPL-3.0"]
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 18
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'libs/commons-math-2.2.jar'
    }
}

dependencies {
    compile 'com.google.guava:guava:12.0'
    compile 'com.jjoe64:graphview:3.1.3'
    compile files('libs/ShimmerAndroidIntstrumentDriver_v2.6.jar')
    compile files('libs/ShimmerDriver_v2.6.jar')
    compile files('libs/wekaSTRIPPED.jar')
    compile files('libs/YouTubeAndroidPlayerApi.jar')
}

apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'


task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
    options.links("http://docs.oracle.com/javase/7/docs/api/");
    options.linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference"
    exclude '**/BuildConfig.java'
    exclude '**/R.java'
    failOnError = false
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
    classifier = 'javadoc'
    from androidJavadocs.destinationDir
}

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.sourceFiles
}

artifacts {
    archives androidSourcesJar
    archives androidJavadocsJar

Любая помощь могла бы быть полезна!

1 ответ

Я была такая же проблема. У меня была проблема с двумя или более версиями java jdk на моей машине или с устаревшим java jdk с последней версией jre.

Удаление всех jdks и наличие самых последних jdk и jre решило мою проблему.

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