当前位置: 首页 > 知识库问答 >
问题:

如何用不是最新版本的maven神器与Gradle构建android应用?

司徒俊良
2023-03-14

我有一个用Gradle构建的应用程序,它需要maven模块fs。我的android应用程序需要1.1版本(存在于本地maven repo中),但它不是本地maven存储库中模块的最新版本(1.2版本也存在于本地maven repo中):

compile 'name.antonsmirnov.fs:fs:1.1'

当尝试构建android应用程序时,我会遇到错误:

Executing tasks: [clean, :app:compileDebugSources, :app:compileDebugAndroidTestSources]

Configuration on demand is an incubating feature.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not resolve name.antonsmirnov.fs:fs:1.1.
     Required by:
         Ad_gradle:app:unspecified
      > inconsistent module metadata found. Descriptor: name.antonsmirnov.fs:fs:1.2 Errors: bad version: expected='1.1' found='1.2'
   > Could not resolve name.antonsmirnov.fs:dropbox:1.1.

我怎样才能强迫Gradle使用不是最新版本的maven模块(工件)?

ps.还有一个问题:如果我从本地maven repo中删除文件夹1.2,它没有帮助(所以gradle缓存到1.2是可用的,即使在删除之后也不会编译)。

PPS.即使我对版本使用“+”使Gradle获得最新可用的,它也无法解析:

compile "name.antonsmirnov.fs:fs:+"

错误:

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not resolve name.antonsmirnov.fs:fs:+.
     Required by:
         Ad_gradle:app:unspecified
      > inconsistent module metadata found. Descriptor: name.antonsmirnov.fs:fs:1.2 Errors: bad version: expected='1.1' found='1.2'

共有1个答案

曹臻
2023-03-14

检查应用程序的gradle配置,在该应用程序中指定用于Maven工件的存储库。根据您的配置,这可能在您的顶级build.gradle文件中,也可能在您的项目的文件中(通常是app/build.gradle)您需要添加MavenLocal以获取本地Maven工件:

repositories {
    mavenLocal()
}
 类似资料:
  • 在使用mvn clean package构建我的spring boot应用程序时,正在构建的最后一个工件myapp。jar名称中没有包含版本号 我应该做什么更改才能使工件验证号成为jar的一部分 pom的相关部分。xml如下所示- 注意:我使用SpringStarter(通过sts)创建了一个新的SpringBoot项目,对于这个新项目,jar的工件版本默认包含在jar名称中。所以想知道这是否是一

  • 我刚刚注意到Gradle发布了2.12版,根据发行说明,脚本的编译速度应该提高20%。我想在Android Studio中升级到那个版本。 我用的是v1。在设置中,我选择了“使用默认gradle包装器”选项,这意味着每个项目将使用特定的gradle版本,而不是使用本地gradle安装。使用的版本是文件。例子: 现在,如果我将其更改为: 然后Android Studio找不到该版本并抛出一个错误。显

  • Gradle build scan总是建议Android项目使用最新版本的Gradle(现在是4.0.2)。 您是否注意到了任何构建速度的提高,或者相反,在始终使用最新版本的Gradle时,是否注意到了任何倒退?

  • 好吧,假设你有一个应用程序,你用构建工具版本21构建的。现在,版本24已经发布了。你的应用运行良好。但是,您的应用程序在构建时可能没有对构建工具进行优化和更改。 我的问题是,有没有一种方法可以直接将BuildToolsVersion设置为最新版本。 您甚至应该随着时间的推移更新构建工具。这有什么区别吗? 只是,说清楚点,我不是想征求意见。更多关于处理构建工具更新时的标准模型。我应该等到我需要新版本

  • Android studio gradle build在使用Firebase API时出错。我使用了谷歌文档中的所有参数。它与示例应用程序一起工作。但是如果我将同一个库添加到我的应用程序gradle build中,就会显示这个错误。 在构建gradle时,它在Android Studio 3.0.1中出现了这样的错误。: 在这里我添加根gradle文件: 以及应用程序梯度文件:

  • 因此,我们更新到最新版本的gradle插件。 从那以后,我的构建变得非常慢。罪魁祸首似乎是 奇怪的是,另一个人用完全相同的设置获得了更好的时光。 格拉德尔。属性: gradle包装。属性 项目级构建。格拉德尔: 我使用的是Kotlin插件1.6.10,但为了匹配另一个人的版本,我将其降级为1.6.0。仍然没有改善。 奇怪的是,如果我们回到上一个梯度,一切都很好。超快构建。 编辑:我不是在问它为什么