2016-03-15 71 views
1

我有3个传递依赖项目从gradle上传到bintray,项目1 & 2是jar,而项目3是aar,使用另一个本地aar,我们可以放在公共资料库里。如何将本地库(aar)作为依赖项的一部分上传到Bintray

我已经上传项目1和2到bintray,但我一直在关于如何去关于第三个项目。 我可以选择将第三个库给予我们的客户以包含在那里项目中,但是我不能推送给bintray,因为第三个项目依赖于这个库。

有没有办法将它推到bintray而不添加第三个项目作为依赖项,而第三方库的项目请求。

+1

在添加它作为依赖关系时,您可以使用'provided'关键字代替'compile',稍后将aar作为文件提供给客户端,同时确保lib是第三个项目所需的依赖关系。 –

+0

谢谢Radix,你的建议像魅力一样工作 –

回答

1

继板蓝根的建议,我是能推第三项目bintray,我改为提供编译,改变它的一些配置

`configurations { 
     provided 
    } 
    sourceSets { 
    main { compileClasspath += configurations.provided } 
    } 
    dependencies { 
    provided '...' 
    }` 

,用户可以很容易地从拉存储库。

0

Bintray并不局限于OSS(甚至是公共)文物。您可以在私人仓库上拥有私人仓库。

对于依赖于私人之一,你是否可以删除依赖公共AAR,它碗下来的一个问题是依赖私人AAR 真的强制性?如果private aar不在类路径中,是否会发生NoClassDefFound错误?如果是的话,答案是否定的 - 你不能在没有依赖的情况下分发公众。如果它不是强制性的,那么你需要编辑公共aar的元数据,消除依赖,你就可以开始了。

相关问题