Android:如何让gradle让特定的依赖关系脱机而其他人在线?

问题描述 投票:0回答:1

我有一些不需要每个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秒

android android-studio gradle
1个回答
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在本地检查依赖性。

© www.soinside.com 2019 - 2024. All rights reserved.