如何将本地库 (aar) 作为依赖项的一部分上传到 Bintray



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

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

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

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

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

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

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

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

相关内容

最新更新