创建包含javadoc和sources的Android库AAR

jmm*_*jmm 29 android gradle android-studio android-gradle-plugin

我的团队正在开发一个Android库,用于我们开发的一些示例应用程序.该库创建为AAR文件.这是它的build.gradle

apply plugin: 'com.android.library'
apply from: 'deploy.gradle'

android {
    compileSdkVersion 20
    buildToolsVersion '20.0.0'
    packagingOptions {
        exclude 'LICENSE.txt'
        exclude 'LICENSE'
        exclude 'NOTICE'
    }
    defaultConfig {
        // Excluded for brevity
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        abortOnError false
        // if true, check all issues, including those that are off by default
        checkAllWarnings true
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v13:20.0.+'
    compile 'com.google.android.gms:play-services:5.+'
    compile 'com.squareup.retrofit:retrofit:1.6.1'
}
Run Code Online (Sandbox Code Playgroud)

这是app的build.gradle的依赖项部分

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile ('com.mycompany.myapp:0.6.5-SNAPSHOT@aar') {
        transitive = true
        downloadJavadoc = true
        downloadSources = true
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用所有的lib类,但我看不到Javadocs和源代码.我如何打包我的AAR,以便包含源代码和Javadocs?

jmm*_*jmm 10

好像现在无法做到.但是,deploy.gradle在-javadoc.jar和-sources.jar中添加这些gradle任务.

task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
}

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

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

artifacts {
//    archives packageReleaseJar
    archives androidSourcesJar
    archives androidJavadocsJar
}
Run Code Online (Sandbox Code Playgroud)

之后,需要手动导入源和javadoc.根据这个线程 和这个开放的问题,他们无法自动导入.

  • 关于这个问题的任何消息?有没有办法将javadoc添加到最终的aar文件? (10认同)