【问题标题】:gradle uploadArchives task to upload single flavorgradle uploadArchives 任务上传单一风味
【发布时间】:2015-11-29 17:24:35
【问题描述】:

我有一个具有多种产品风格的应用。 我使用maven插件和uploadArchives任务将我的apk上传到nexus,使用这个: https://raw.githubusercontent.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle

我的问题是运行 uploadArchives 运行所有风格的构建和组装任务并将它们上传到我的 nexus 存储库。

我希望能够组装和上传单一风味,而不一定是全部。

我不明白 uploadArchives 到底是做什么的,它为什么要组装应用程序?它不应该只上传由显式组装任务生成的任何内容吗? 我如何根据口味运行它?

谢谢!

【问题讨论】:

  • 你让它适用于单一口味吗?

标签: android maven gradle android-gradle-plugin nexus


【解决方案1】:

我对这个问题的解决方案是创建另一个引用特定风格的模块并在该模块上使用 uploadArchives。

要将依赖项添加到特定风味,请在 Gradle 依赖项部分中使用此行:

compile project(path: ':lib', configuration: 'flavor')

【讨论】:

  • 那你如何在那个模块上调用uploadArchives?
  • 你把uploadArchives函数放在新模块的build.gradle文件中
  • 这就是我所做的,但是当我调用 ./gradlew assemble ./gradlew -q uploadSnapshotArchives 时出现错误:“在根项目中找不到任务'uploadSnapshotArchives'”
  • 好吧,我错了“uploadSnapshotArchives”,我只是使用“uploadArchives”然后它工作。感谢您的回答 +1
【解决方案2】:

上传到存储库应该上传构建中的所有工件,在这种情况下包括所有风格。通过这种方式,您可以保证存储库中的所有工件都来自同一个代码库。

您只上传一些的用例是什么?

【讨论】:

  • 运行 uploadArchives 也会触发组装任务,所以我无法控制构建的内容,所以如果我只想组装一种风格并上传它,我不能
  • 好吧..我的问题是你为什么只想上传一个不完整的集合?
【解决方案3】:

您应该能够只构建您感兴趣的productFlavor。例如

gradle clean assembleMyProductFlavor uploadArchives 那么上传应该只会看到您感兴趣的风格,因为其他apk 文件不存在。

【讨论】:

  • 不知道为什么,但是 uploadArchives 任务实际上构建了所​​有的风格并上传了所有的风格
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-08
  • 2020-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多