当前位置:   article > 正文

Android Gradle - Gradle常见异常_gradle-8.0-bin.zip

gradle-8.0-bin.zip

近期才将AndroidStudio升级到了4.1.2 ,在升级中遇到了一些关于Gradle相关的错误,索性整理归纳入档 ~

Gradle 相关

工欲善其事,必先利其器(Gradle下载地址)

报错:Gradle‘s dependency cache may be corrupt

我是在AndroidStudio升级4.1后遇到的此项错误,简单可以看出为请求超时,因为As升级后需要配对应的Gradle版本,但是其中资源部分是需要翻墙下载的,而国内的禁止翻墙的,所以就会报出此项错误 ~

尝试通过上方地址下载该 As 版本对应的 Gradle 版本,下载好之后放于引用地址,然后更改工具内的 Gradle 引用地址

  • 将已下载好的gradle,存于.gradle\wrapper\dists文件夹下
    在这里插入图片描述
  • 修改 Gradle Scripts - gradle-wrapper.properties 内加载路径

原路径

 #网络加载,需要先行下载,因为是外网,所以往往会加载失败,恶性循环
 distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
  • 1
  • 2

修改后路径

 #加载本地资源(此资源是已经下载好的)
 distributionUrl=file:///C:/Users/Acer/.gradle/gradle-6.5-all.zip
  • 1
  • 2

结果图

在这里插入图片描述

  • 查看是否加载本地资源 File - Setting - Build,Execution,Deployment - Gradle

在这里插入图片描述

  • Syan 之后可通过 File - Project Structure 查看当前对应的版本信息

在这里插入图片描述

报错:Could not find com.android.tools.build:gradle

此错是由于gradle版本造成的,如不想升级gradle版本,需使用原来低版本的方法。

buildscript {
    repositories {
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
 
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
 
allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

报错:Could not find com.android.tools.build:gradle:x.x.x (x.x.x 版本号,如 3.5.0)

根据提示是 build:gradle 出了问题,首先要明白插件版本和gradle版本是俩回事儿!

我们先查看当前的Gradle版本是多少?然后确定此Gradle对应的插件版本是否正确?

如都正确的话,在 build.gradle(Project) 中加入以下你缺失的设置代码

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
    }
}
 
allprojects {
    repositories {
        google()
        jcenter()
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

报错:org.gradle.api.ProjectConfigurationException: A problem occurred configuring

主要原因是部分资源(包含jar包)需要通过外网下载,而我们连接不到外网,故此下载失败,所以报错 ~

首先参考最上方的 ‘may be corrupt 错误’,先行配置好gradle,如若无效继续往下看 ~

build.gradle(Project)

buildscript {
        repositories {
           google()
           jcenter()
           maven {
                url 'https://maven.google.com/'
                name 'Google'
            }
           mavenCentral()
        }
        
allprojects {
    repositories {
    	/**
    	//如上方设置后,没有解决问题,尝试将上方设置代码移动到此处,可解开注释
           google()
           jcenter()
           maven {
                url 'https://maven.google.com/'
                name 'Google'
            }
       	   mavenCentral()
       	   */
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

报错:Unable to find method ‘org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object…’

首先看看当前项目是否使用greenDao数据库,因为报错信息提示:您的项目可能使用的第三方插件与项目中的其他插件或项目所要求的Gradle版本不兼容。在损坏Gradle进程的情况下,您还可以尝试关闭IDE,然后杀死所有Java进程 ~

  • 查看 build.gradle(Project)内是否有引用gradle的地方,具体如下
    在这里插入图片描述

  • 经上发现greendao也有引用gradle,所以我们将此更新到其最新版本

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.2'
		//原版本    
//		classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
		//现版本
        classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 同时我们将 build.gradle(app)内的依赖引入版本进行更换
	//原版本
	//implementation 'org.greenrobot:greendao:3.2.2'
	//现版本
    implementation 'org.greenrobot:greendao:3.3.0'
  • 1
  • 2
  • 3
  • 4

报错:Gradle sync failed:Unable to start the daemon process

错误翻译:无法启动守护进程

首先要判断此错误是否之前不存在?而是你手动修改某些配置后并发产生的?如果是的话,那么先还原之前设置,如果要在现在基础上继续修改错误的话,可尝试以下的解决方式 ~

gradle.properties 内设置运行内存大小

# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
org.gradle.daemon=true
android.injected.testOnly=false
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

如依旧无效可查看是否连接热点,如有则关闭热点,之后重启As或电脑,也可以尝试File - Invalidate Caches/Restart

报错:Cannot access ‘java.lang.Comparable‘ which is a supertype of ‘org.gradle.kotlin.dsl.KotlinBuildScr

项目可正常运行,仅表现为gradle提示全红

问题的原因是,依赖的jdk和gradle里面制定的java版本不一致导致的。

首先确认项目中依赖的java版本

我这边gradle定义了java 1.8

 sourceCompatibility = JavaVersion.VERSION_1_8
 targetCompatibility = JavaVersion.VERSION_1_8
  • 1
  • 2

然后到setting里面下载对应的jdk 版本,apply

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/312869
推荐阅读
相关标签
  

闽ICP备14008679号