Android 如何触发build.gradle并将新的依赖项下载到gradle缓存

Android 如何触发build.gradle并将新的依赖项下载到gradle缓存,android,android-studio,gradle,Android,Android Studio,Gradle,我们有自己构建和发布的多个版本的依赖项(aar) 我们希望在maven存储库上使用最新版本 如果我已经有了gradle脚本,如何下载最新的依赖版本aar 如何触发它 以下是我尝试过的: Android Studio->与gradle文件同步项目 没有得到4.0.2版本的aar /gradlew--重新编译脚本 将在不构建任何内容的情况下进行同步。但在我使用的5.1.1中删除了它 (将构建从Gradle 4.x升级到5.0)[docs.Gradle.org/current/userguide/U

我们有自己构建和发布的多个版本的依赖项(aar)

我们希望在maven存储库上使用最新版本

如果我已经有了gradle脚本,如何下载最新的依赖版本aar

如何触发它

以下是我尝试过的:

  • Android Studio->与gradle文件同步项目
  • 没有得到4.0.2版本的aar

  • /gradlew--重新编译脚本
  • 将在不构建任何内容的情况下进行同步。但在我使用的5.1.1中删除了它

    (将构建从Gradle 4.x升级到5.0)[docs.Gradle.org/current/userguide/Upgrading_version_4.html]

  • /gradlew--刷新依赖项
  • 不确定它是否会下载新的依赖项以及如何验证它。 或者不确定它是否等于gradle中的“将项目与gradle文件同步”

    由于我的网络不是很好,有没有办法只下载我没有的依赖项,并保持我下载的依赖项不变

    以下是我使用的:

    moduleA/build.gradle

    def dependencyVersion = '0.3.1'
    apply from: "https://***/dependencyVersions/${dependencyVersion}/dependencyVersions-${dependencyVersion}.gradle"
    
    我的问题:

  • 是否有调试dependency.gradle文件的方法

  • 如何执行build.gradle下载最新的依赖项

  • 相关问题

    事实证明,我还应该将
    dependencyVersion
    0.3.1
    更新为
    0.4.1
    ,这是我忘记告诉我的

    然后与Android Studio中的gradle文件同步

    (我尝试了
    /gradlew--refresh dependencies
    ,它在日志中显示了最新的0.4.2版本的依赖项,但Android Studio仍然显示了旧的0.3.6版本的依赖项。)

    我想知道我该如何知道这个原则

    import groovy.json.JsonSlurper
    
    ext {
        mepMajorVersion = 0
    
        mepMinorVersion = 3
    
        isLocalDevMode = {
            def devMode = project.findProperty('dev.mode') ?: System.getenv('dev.mode')
            return "local" == devMode
        }
    
        getVersionCode = { projectGroupId, projectArtifactId ->
            def repoPath = projectGroupId.replace(".", "/")
            try {
                def jsonSlurper = new JsonSlurper()
                def url = "https://***/api/search/versions?repos=vdca-mobile-maven&g=${repoPath}&a=$projectArtifactId"
    //            println "url $url"
                def versions = jsonSlurper.parseText(new URL(url).text)
    //            println "$projectArtifactId  versions $versions"
                def latestVersion = 0
                versions.results.each { v ->
                    try {
                        def version = v.version.split("-")[0].split("\\.")
                        def majorVersion = version[0].toInteger()
                        def minorVersion = version[1].toInteger()
                        def patchVersion = version[2].toInteger()
    //                    println "majorVersion $majorVersion minorVersion $minorVersion patchVersion $patchVersion"
                        if (majorVersion == mepMajorVersion && minorVersion == mepMinorVersion && patchVersion > latestVersion)
                            latestVersion = patchVersion
                    } catch (Exception e) {
                    }
                }
    //            println "$projectArtifactId latest version $latestVersion"
    
                return latestVersion + 1
            } catch (Exception e) {
                return 1
            }
        }
    
        getLatestVersion = { projectGroupId, projectArtifactId ->
            def repoPath = projectGroupId.replace(".", "/")
            try {
                def jsonSlurper = new JsonSlurper()
                def url = "https://artifactory.trusted.visa.com/api/search/versions?repos=vdca-mobile-maven&g=${repoPath}&a=$projectArtifactId"
    //            println "url $url"
                def versions = jsonSlurper.parseText(new URL(url).text)
    //            println "$projectArtifactId  versions $versions"
                def latestVersion = 0
                versions.results.each { v ->
                    try {
                        def version = v.version.split("-")[0].split("\\.")
                        def majorVersion = version[0].toInteger()
                        def minorVersion = version[1].toInteger()
                        def patchVersion = version[2].toInteger()
    //                println "majorVersion $majorVersion minorVersion $minorVersion patchVersion $patchVersion"
                        if (majorVersion == mepMajorVersion && minorVersion == mepMinorVersion && patchVersion > latestVersion)
                            latestVersion = patchVersion
                    } catch (Exception e) {
                    }
                }
    //            println "$projectArtifactId latest version "+mepMajorVersion+"."+mepMinorVersion+"."+latestVersion
    
                return mepMajorVersion+"."+mepMinorVersion+"."+latestVersion
            } catch (Exception e) {
                println "$e"
                return ""
            }
        }
    
        // version number MAJOR.MINOR.PATCH
        getVersionName = { projectGroupId, projectArtifactId ->
            return "$mepMajorVersion.$mepMinorVersion." + getVersionCode(projectGroupId, projectArtifactId)
        }
    
        mepVersions = [
                // foundation
                analytics                 : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'analytics'),
                dataProvider              : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'dataProvider'),
                logger                    : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'logger'),
                profilingService          : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'profiler'),
                storage                   : '',
                // fmcore
                authenticationService     : getLatestVersion('com.visa.mobileEnablement', 'authenticationService'),
                coreService               : getLatestVersion('com.visa.mobileEnablement', 'coreService'),
                coreServiceTesting        : getLatestVersion('com.visa.mobileEnablement', 'coreServiceTesting'),
                cryptoClient              : getLatestVersion('com.visa.mobileEnablement', 'cryptoClient'),
                deviceManagementService   : getLatestVersion('com.visa.mobileEnablement', 'deviceManagementService'),
                featureGateway            : getLatestVersion('com.visa.mobileEnablement', 'featureGateway'),
                mockAuthenticationService : getLatestVersion('com.visa.mobileEnablement', 'mockAuthenticationService'),
                uiComponents              : getLatestVersion('com.visa.mobileEnablement', 'uiComponents'),
                utilities                 : getLatestVersion('com.visa.mobileEnablement', 'utilities'),
                // mep_login
                enrollFeature             : getLatestVersion('com.visa.mobileEnablement.featureModules', 'enrollFeature'),
                enrollService             : getLatestVersion('com.visa.mobileEnablement', 'enrollService'),
                loginFeature              : getLatestVersion('com.visa.mobileEnablement.featureModules', 'loginFeature'),
                // mep_3ds
                mep3dsFeature             : getLatestVersion('com.visa.mobileEnablement.featureModules', 'mep3dsFeature'),
                mep3dsService             : getLatestVersion('com.visa.mobileEnablement', 'mep3dsService'),
                mockMep3dsService         : getLatestVersion('com.visa.mobileEnablement', 'mockMep3dsService'),
        ]
        mepLibVersions = [
                androidTestVersion        : '1.0.1',
                androidxTestVersion       : '1.1.0',
                androidArchCompVersion    : '1.1.1',
                appCompatVersion          : '1.1.0',
                biometricVersion          : '1.0.0',
                buildToolsVersion         : "28.0.3",
                butterknifeCompilerVersion: '8.5.1',
                butterknifeVersion        : '8.5.1',
                caverockAndroidSvgVersion : '1.2.1',
                compileSdk                : 28,
                constraintLayout          : '1.1.3',
                daggerCompilerVersion     : '2.8',
                daggerProducersVersion    : '2.8',
                daggerVersion             : '2.8',
                espressoVersion           : '3.1.0',
                firebaseCoreVersion       : '16.0.9',
                gradlePluginVersion       : '3.4.1',
                gsonConverter             : '2.0.1',
                gsonVersion               : '2.8.2',
                httpClientAndroidVersion  : '4.3.5.1',
                jacocoVersion             : '0.8.4',
                javaxInjectVersion        : 1,
                junitVersion              : '4.12',
                jsonOrgVersion            : '20140107',
                jsr250Version             : '1.0',
                jsr305Version             : '1.3.9',
                kotlinVersion             : '1.3.50',
                kotlin_coroutines         : '1.3.3',
                materialVersion           : '1.1.0-rc02',
                minSdk                    : 23,
                mockitoVersion            : '1.10.19',
                mockkVersion              : '1.9.3',
                multiDex                  : '1.0.3',
                nineoldandroids           : '2.4.0',
                okioVersion               : '1.6.0',
                okHttpLegacyUrlConnVersion: '2.6.0',
                okHttpLegacyVersion       : '2.6.0',
                okHttpUrlConnVersion      : '3.10.0',
                okHttpVersion             : '3.10.0',
                openPojoVersion           : '0.8.3',
                picassoVersion            : '2.5.2',
                powerMockVersion          : '1.6.2',
                playServiceVersion        : '11.0.4',
                retrofitLegacyVersion     : '1.9.0',
                retrofitVersion           : '2.5.0',
                retrofitScalarsVersion    : '2.1.0',
                supportLib                : '28.0.0',
                tagManagerVersion         : '16.0.8',
                targetSdk                 : 28,
                testRunnerVersion         : '1.1.0',
                threatMetrixVersion       : '5.4-73',
                uiAutomatorVersion        : '2.1.2',
                viewpagerindicator        : '2.4.1',
                wiremockVersion           : '2.0.8-beta',
                commonsIoVersion          : '2.6',
                commonsCodecVersion       : '1.13',
        ]
    }