我目前正在开发三个android项目 - 让我们称之为Alpha,Bravo和Charlie。 Bravo和Charlie都依赖Alpha,一个安卓库。当我创建Alpha时,我使用./gradlew install
将其部署到我的本地maven存储库,如果我在Bravo和Charlie的build.gradle
文件中使用以下内容,则可以正常工作:
dependencies {
compile 'com.blah.alpha:alpha:1.1.0+@aar'
}
但是,问题在于,所有三个项目都在开发中。因此,当我对Alpha进行更新并将其部署到我的本地Maven存储库时,除非我执行以下操作,否则Bravo和Charlie似乎看不到本地版本:
$ cd ~/.m2/repository/com/blah/alpha/
$ rm -rf 1.1.0
$ cd -
$ ./gradlew install
也就是说,我需要在部署之前手动完成并清理我的本地Maven存储库。版本号没有变化,所以我想知道这是不是因为它没有得到最新版本的库。
答案 0 :(得分:2)
该静态版本是其中的一部分。您可以将版本更改为1.1.0-SNAPSHOT
,Gradle会考虑更改"更改"模块。但是,Gradle默认情况下仍会每24小时重新下载一次工件。您可以覆盖此行为并指示Gradle根本不缓存更改模块。更多信息可以在Gradle docs。
configurations.all {
resolutionStrategy {
cacheChangingModulesFor 0, 'seconds'
}
}
如果您不想更改工件版本,可以尝试使用 ResolutionRules
。
编辑:您可以告诉Gradle您的依赖项是一个不断变化的依赖项。
compile('com.blah.alpha:alpha:1.1.0+@aar') {
changing true
}