android 导入项目gradle(无法下载/下载慢/版本号与gradle plugin插件对应关系)问题

摘要:本文主要讲述了Android 在导入项目是遇到的gradle的问题。

前言:

      由于在开发Android是常需要迁移项目,或者二次开发别人的项目,常常会遇到项目的gradle版本的问题。常常是以下的一些情况:

1)当前gradle版本号高于当前的android Studio 的版本最高支持版本

2)需要下载项目相应版本的gradle,出现无法下载或者下载非常慢

3)在修改gradle时,gradle版本和gradle plugin插件对应关系不匹配问题

 

针对以上情况整理了各自的解决方法:

(1)当前gradle版本号高于当前的android Studio 的版本最高支持版本问题

         降低gradle版本号,同时需要与gradle plugin插件版本对应。

       1)修改版本号:

            打开在下图位置中文件:

                                android 导入项目gradle(无法下载/下载慢/版本号与gradle plugin插件对应关系)问题_第1张图片

修改:distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip

android 导入项目gradle(无法下载/下载慢/版本号与gradle plugin插件对应关系)问题_第2张图片

修改后,根据下面的表检查gradle plugin插件版本是否对应gradle版本呢:classpath 'com.android.tools.build:gradle:3.3.1' 如果不对应,则修改。

android 导入项目gradle(无法下载/下载慢/版本号与gradle plugin插件对应关系)问题_第3张图片

对应关系:

android 导入项目gradle(无法下载/下载慢/版本号与gradle plugin插件对应关系)问题_第4张图片

 

(2)无法下载或下载慢的问题

一般来说,从国外的网站下载资源是非常慢的,我们一般选择使用国内镜像资源下载,下面是在Android 项目中修改国内镜像的方法:

1)在/users/.gradle/中创建init.gradle文件,添加一下内容:

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
            }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

2)添加阿里云镜像:

buildscript {
    repositories {
        //阿里云的镜像库
        maven {
            url "http://maven.aliyun.com/nexus/content/groups/public/"
        }
        google()
        jcenter()
    }
}
 
allprojects {
    repositories {
        //阿里云的镜像库
        maven {
            url "http://maven.aliyun.com/nexus/content/groups/public/"
        }
        google()
        jcenter()
    }
}

3)版本不对应,同上对应的关系图

 

完结。

你可能感兴趣的:(Android)