将Android库发布到依赖于本地Android库项目的Maven

时间:2015-10-14 01:15:55

标签: android maven gradle android-gradle

我有一个库项目libParent,其中包含另一个库项目libChild,作为依赖项。如果查看build.gradle依赖项部分,您将看到如下内容:

dependencies {
    ...

    compile project(':libChild')
}

现在,我想将libParent发布为maven作为aar文件。请注意,libChild尚未发布,但我希望将其来源/资源纳入libParent的artificat。我的build.gradle文件的maven发布部分如下所示:

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

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

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

artifacts {
    archives javadocJar
    archives sourcesJar
}

我发布模块并将其作为依赖项添加到我的应用程序中后,出现以下错误:

Could not find 'libParent:libChild:unspecified'
     Searched in the following locations:
     https://oss.sonatype.org/content/respositories/snapshots/libParent/libChild/unspecified/libChild-unspecified.pom

我知道libChild并未融入我发布的工件中,但我该如何确保libChild的来源/资源包括在内?

1 个答案:

答案 0 :(得分:0)

你不能这样做。

如果库具有依赖关系,则父lib的pom文件将包含此依赖关系。

您无法解决此依赖关系,包括资源/资源 您还必须发布子lib。