1

我有 3 个传递依赖的项目要从 gradle 上传到 bintray,项目 1 和 2 是 jar,而项目 3 是使用另一个本地 aar 的 aar,我们无法将其放入公共存储库。

我已将项目 1 和 2 上传到 bintray,但我一直坚持如何进行第三个项目。我可以选择将第三个库提供给我们的客户以包含在那里的项目中,但我无法推送到 bintray,因为第三个项目依赖于这个库。

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

4

2 回答 2

2

根据 Radix 的建议,我能够将第三个项目推送到 bintray,我从编译更改为提供并更改了一些配置

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

并且用户可以轻松地从存储库中提取。

于 2016-03-16T10:10:48.657 回答
0

Bintray 不仅限于 OSS(甚至公共)工件。您可以使用您的私有 aar 在 Bintray 上拥有一个私有存储库。

关于依赖于私有 aar 的公共 aar 以及是否可以删除依赖关系,它归结为一个问题,对私有 aar 的依赖是否真的是强制性的?如果私有 aar 不在类路径中,事情是否会因 NoClassDefFound 错误而中断?如果是,答案是否定的——你不能在没有依赖的情况下分发公共 aar。如果它不是真的强制,那么您需要编辑公共 aar 的元数据,删除依赖关系,然后您就可以开始了。

于 2016-03-15T19:17:01.250 回答