我有一些不需要每次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秒
答案 0 :(得分:0)
有可能做到。您只需要知道下载的依赖项的位置。知道目录位置后,更改项目的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在本地检查依赖关系,然后再在线检查。