如何将android库模块发布到mavenLocal()?

时间:2017-08-22 16:30:41

标签: android maven gradle module android-library

我正在开发一个包含以下模块的库:

  • 应用
  • abstractlibrary
  • implementationlibrary

模块abstractlibrary和implementationlibrary是两个库模块。 Implementationlibrary依赖于abstractlibrary,app依赖于abstractlibrary和implementationlibrary模块。

我的想法是使用应用程序模块开发我的库,然后将库模块发布到repo(现在是本地),并在商业应用程序中使用它们。

我怎样才能做到这一点?

我尝试了很多东西,但无法使它发挥作用。

在abstractlibrary模块的build.gradle文件的末尾:

1)

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
    }
}

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'

2)

apply plugin: 'maven'

group = 'com.cargo.sbpd'
version = '0.0.2'


uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: mavenLocal().getUrl())
        }
    }
}

这个给了我这个错误:

  

无法发布配置'存档'

     
    

无法写入文件'C:[...] \ ProjectFolder \ abstractlibrary \ build \ poms \ pom-default.xml'

  

在商业应用中,我不确定要添加什么,但我尝试了这个:

在存储库中,我添加了mavenLocal():

repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    maven { url "http://dl.bintray.com/jjhesk/maven" }
    maven { url "https://jitpack.io" }
    maven { url 'https://maven.fabric.io/public' }
    mavenLocal()
}

在依赖项中:

dependencies {
   compile 'com.cargo.sbpd:sbpd:0.0.2'
   // I also tried with 'com.cargo:sbpd:0.0.2', 'com.cargo.sbpd.sbpd:sbpd:0.0.2' etc...
}

.m2文件夹似乎包含aar文件。

1 个答案:

答案 0 :(得分:0)

我不确定我是否回答了您的问题,但tutorial帮助我通过jcenter和Maven Central分发我的第一个Android库。它还讨论了如何正确地创建库文件aar,pom等...