升级到Android Studio 3.2.1 ,报 org.gradle.internal.exceptions.LocationAwareException

更新Android Studio后,尝试打开项目遇到'Noroutetohost(connectfailed)'错误。通过修改Gradle配置,添加mavenCentral()和指定jcenter URL,成功解决了资源加载失败的问题。

最近收到AS版本的推送就果断更新了,更新以后,打开自己最近的项目,报如下错误:

No route to host (connect failed)

Caused by: org.gradle.internal.exceptions.LocationAwareException: A problem occurred configuring root project 'mjptouchProject’.

Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://jcenter.bintray.com/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar

Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://jcenter.bintray.com/com/googlecode/juniversalchardet/juniversalchardet/1.0.3/juniversalchardet-1.0.3.jar'

 

解决方式:

添加如下语句

 mavenCentral()
 jcenter{url "http://jcenter.bintray.com/"}

  

 

FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:compileYWatchDebugKotlin'. > A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction > Compilation error. See log for more details * Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileYWatchDebugKotlin'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:147) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:145) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:133) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExe
最新发布
04-01
<think>好的,我需要帮助用户解决Kotlin编译时出现的错误,具体是关于&#39;org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers&#39;的问题。根据用户提供的引用资料,我需要分析可能的原因和解决方案。 首先,用户提到编译错误可能与Kapt任务相关,如引用[1]和[5]中的错误信息。这可能是因为Kotlin版本与Gradle插件不兼容,或者Gradle JDK配置不正确。引用[2]和[3]指出类初始化失败,解决办法是更新Gradle插件和Kotlin版本到兼容的组合。例如,使用较旧的Gradle插件版本3.2.1和Kotlin 1.3.60可能解决某些问题,但用户可能需要升级到更新的版本,因为旧版本可能存在已知的兼容性问题。 另外,引用[4]建议检查Gradle JDK设置,确保使用正确的JDK版本,比如JDK 8或11,避免使用过高的版本如JDK 17。同时,清理项目缓存和重新生成Gradle文件也是常见的解决步骤。 可能的步骤包括:检查并更新Kotlin和Gradle插件版本,确保版本兼容;验证Gradle JDK配置;清理构建缓存;检查依赖冲突。需要逐步引导用户执行这些步骤,并参考提供的引用资料来支持解决方案。</think>### 解决Kotlin编译错误 `GradleCompilerRunnerWithWorkers` 的逐步指南 #### 错误原因分析 1. **Kotlin插件与Gradle版本不兼容** 当Kotlin插件版本与Gradle版本或Android插件版本不匹配时,可能导致类初始化失败或编译器运行异常(如引用[2][^2]、[3][^3]所示)。 2. **Gradle JDK配置问题** 使用不支持的JDK版本(如JDK 17)可能引发兼容性问题(引用[4][^4])。 3. **缓存或构建文件损坏** 临时文件或缓存损坏可能导致编译器无法正常加载类。 --- #### 解决方案 ##### 步骤1:检查版本兼容性 1. **确认Kotlin插件版本与Gradle版本对应** - 在根目录的 `build.gradle` 中检查 `kotlin-gradle-plugin` 版本(引用[4]): ```groovy buildscript { dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20" // 示例版本 } } ``` - 参考官方兼容性表格:[Kotlin版本与Gradle对应关系](https://kotlinlang.org/docs/gradle-configure-project.html#check-compatibility) 2. **更新Android Gradle插件(如适用)** 若项目包含Android模块,确保 `com.android.tools.build:gradle` 版本与Kotlin插件兼容: ```groovy buildscript { dependencies { classpath &#39;com.android.tools.build:gradle:7.3.1&#39; // 示例版本 } } ``` ##### 步骤2:验证Gradle JDK配置 1. **检查IDE的Gradle JDK设置** - 在Android Studio中: `File → Settings → Build, Execution, Deployment → Build Tools → Gradle` 确认 `Gradle JDK` 选择的是 **JDK 8/11**(引用[4])。 2. **全局环境变量** 确保系统环境变量 `JAVA_HOME` 指向JDK 8或11,而非更高版本。 ##### 步骤3:清理构建缓存 1. **手动删除缓存文件** - 关闭IDE,删除以下目录: - 项目目录下的 `build`、`.gradle` 文件夹 - 用户目录下的 `.gradle/caches` - 重新打开项目并执行 **`./gradlew clean`**(终端)或点击IDE的 **Clean Project** 按钮。 2. **重新生成Gradle文件** 执行 **`./gradlew --refresh-dependencies`** 强制刷新依赖。 ##### 步骤4:检查依赖冲突 1. **分析依赖树** 运行以下命令查看是否存在版本冲突: ```bash ./gradlew :app:dependencies --configuration releaseRuntimeClasspath ``` - 若发现多个Kotlin库版本,通过 `exclude` 或强制指定版本解决冲突: ```groovy implementation("com.example:library") { exclude group: &#39;org.jetbrains.kotlin&#39;, module: &#39;kotlin-stdlib&#39; } ``` --- #### 其他可能原因 - **Kapt注解处理器问题** 若错误涉及Kapt(引用[1][^1]、[5][^5]),检查注解处理器(如Dagger、Room)是否与Kotlin版本兼容。尝试暂时禁用Kapt以缩小问题范围。 - **Gradle Wrapper版本过低** 升级 `gradle-wrapper.properties` 中的Gradle版本至兼容版本: ```properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip ``` --- ### 总结步骤优先级 1. **更新版本组合**(Kotlin + Gradle + Android插件) 2. **清理缓存并刷新依赖** 3. **验证JDK配置** 4. **解决依赖冲突** 通过以上步骤,90%的类初始化或编译器错误可被解决。若问题持续,建议提供完整的 `build.gradle` 文件和错误日志以进一步分析[^1][^2]。
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被开发耽误的大厨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值