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

问题描述:

我有一个库项目libParent,它包含另一个库项目libChild作为依赖项。如果你看一下build.gradle依赖部分,你会看到类似以下内容:将Android库发布到依赖本地Android库项目的Maven

dependencies { 
    ... 

    compile project(':libChild') 
} 

现在,我要发布libParent到Maven作为一个aar文件。请注意,libChild尚未发布,但我想在libParent的人造物中包含其来源/资源。我build.gradle文件的行家发布部分如下所示:

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的源/资源包含在内?

你不能这样做。

如果一个库有一个依赖项,父库的pom文件将包含这个依赖项。

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

+0

我希望有一种偷偷摸摸的方式去做,但我猜不是。谢谢。 – WindsurferOak