Android:如何让gradle让特定的依赖关系脱机而其他人在线?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:如何让gradle让特定的依赖关系脱机而其他人在线?相关的知识,希望对你有一定的参考价值。
我有一些不需要每个Gradle Sync更新的依赖项,所以我需要Gradle不要从互联网上更新它并且只使用缓存版本工作离线模式,还有其他想要更新它们的依赖项线上。
我试图增加缓存持续时间并使用更改属性,但是当我比较工作离线模式所花费的时间时,这对我没有帮助。
例如,我需要Gradle下载support-v4,并强制Gradle使用appcompat-v7的离线缓存版本,即使不在线检查校验和。
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation ('com.android.support:appcompat-v7:25.3.1') {
changing = false
}
implementation ('com.android.support:support-v4:25.3.1') {
changing = true
}
}
configurations.all {
resolutionStrategy.cacheChangingModulesFor 1209600, 'seconds'
}
谁有更好的主意?正常Gradle同步需要4分钟,离线模式只需50秒
答案
有可能做到。您只需要知道下载的依赖项的位置。知道目录位置后,更改项目的build.gradle,如下所示:
buildscript {
repositories {
maven { url uri('<location of downloaded dependancy>') }
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
}
}
allprojects {
repositories {
maven { url uri('<location of downloaded dependancy>') }
google()
jcenter()
}
}
在线检查之前,这将强制gradle在本地检查依赖性。
以上是关于Android:如何让gradle让特定的依赖关系脱机而其他人在线?的主要内容,如果未能解决你的问题,请参考以下文章
Gradle:如何在java中以编程方式声明对项目特定配置的依赖关系