build.gradle 中的依赖项自动更新

4
compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:design:22.2.1'

to

compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.android.support:support-v4:23.1.0'
compile 'com.android.support:design:23.1.0'

有时,Android Studio会自动更改值到最新的版本,这非常令人恼火且会破坏我的应用程序。有没有办法防止这种情况发生?

我在谷歌搜索和stackoverflow搜索过了,但没有找到相关信息。


3
我知道IDE会提示你是否有更新版本可用,但是更新你的 build.gradle 文件呢?我不确定它是否能做到这一点。 - Jared Burrows
是用户更新版本,而不是Android Studio自动更新。 - Prerak Sola
大家好,谢谢回复。但我非常确定当我“清理项目”时它会自动更新。我认为如果是我自己更新了版本,我会知道的。希望这个问题能帮助未来遇到同样问题的人。 - FortuneSix
这也发生在我身上了。你能通过使用版本变量来解决它吗?如果可以,我可以看一下是什么样子的? - xaksis
@PrerakSola,这有时会自动发生,就像在Google Play服务上刚刚发生的那样。 - Nicholas Muir
3个回答

2

改为:

compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:design:22.2.1'

尝试:

playVersion = '8.3.0'
supportVersion = 'support-v4:22.2.1'
designVersion = '22.2.1'
compile "com.google.android.gms:play-services:$playVersion"
compile "com.android.support:$supportVersion"
compile "com.android.support:design:$designVersion"

请记得要用"替换所有的'


Android Studio忽略存储在变量中的值。这是我如何防止相同的问题。 - Brandon Dyer
1
太棒了。这肯定能解决问题。感谢@BrandonDyer。 - FortuneSix
我的Android Studio已经进行了升级(仅替换$value为版本号)。 - thoutbeckers

1

如果你指定了版本,Android Studio不会更新依赖项

示例:

compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:design:22.2.1'

在这种情况下,AS会告诉你是否有新版本可用,而不需要更新它们。
如果您在依赖项中使用+,则gradle会根据build.gradle更新为最新版本。例如:
compile 'com.android.support:support-v4:22.2.+'
compile 'com.android.support:support-v4:22.+'
compile 'com.android.support:support-v4:+'

避免使用它是一个好的实践。


您好,感谢分享。但是我知道“+”符号会导致结果不可预测且无法重复,因此我在我的gradle中没有加入它。每当我“clean project”时,它会自动从8.3.0更新到8.4.0。 - FortuneSix
这很奇怪。以前AS从未更新过依赖项。 - Gabriele Mariotti

0

我刚刚遇到了另一个开发者的问题,他检出了我的项目,然后不久之后开始出现构建错误。当我查看时,我的支持库版本似乎也已经更新了。

事实证明,这是在他们通过Android Studio添加活动向导添加新活动后发生的。这会自动更新build.gradle文件以使用最新的支持库版本,并添加'com.android.support:design:23.2.0'库,而我甚至没有使用它。

我想知道是否有类似的情况发生在你身上,因为你表明它似乎是周期性发生的。


我一直在使用Activity向导。我已经在使用suport:design,所以我无法发表评论。是的,我相信您正在经历我曾经遇到的情况。 - FortuneSix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接