Android Studio升级Gradle Plugin升级导致项目运行失败问题

这篇具有很好参考价值的文章主要介绍了Android Studio升级Gradle Plugin升级导致项目运行失败问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景&错误

升级Android Studio
旧项目无法运行,奇奇怪怪什么错误都有
例如:

java.lang.IllegalAccessError: class org.gradle.api.internal.tasks.compile.processing.AggregatingProcessingStrategy (in unnamed module @0x390ea9fb) cannot access class com.sun.tools.javac.code.Symbol$ClassSymbol (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.code to unnamed module @0x390ea9fb

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':BaziPaipan_lib:compileDebugJavaWithJavac'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:200)
	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:198)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
	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(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessError: class org.gradle.api.internal.tasks.compile.processing.AggregatingProcessingStrategy (in unnamed module @0x390ea9fb) cannot access class com.sun.tools.javac.code.Symbol$ClassSymbol (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.code to unnamed module @0x390ea9fb
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(Unknown Source)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(Unknown Source)

又例如:
Android Studio升级Gradle Plugin升级导致项目运行失败问题

排查解决

初步排查判断是旧项目Gradle版本问题导致。因为最近创建的项目,升级AS之后无影响,只有旧项目跑不起来。

查阅资料发现,随着AS gradle插件版本的升级,项目中gradle plugin版本、gradle版本、jdk版本等均需要配合一起升级,否则编译不过。比如类似这种报错提示:

build.gradle 中配置的gradle版本太低:

Unsupported Java. 
Your build is currently configured to use Java 17.0.6 and Gradle 6.7.1.

gradle.properties中配置的gradle版本很高,builde.gradle中配置没有匹配:

Could not resolve all dependencies for configuration ':classpath'.
   > Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven5(http://mvn.mob.com/android)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.5.1/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details. 

gradle.properties中配置的版本太低,匹配不上AS版本或者gradle版本

Unsupported Gradle. 
The project uses Gradle 2.14.1 which is incompatible with Android Studio 2022.2.

其实以上错误,基本上都是版本不匹配导致,那么,匹配上基本就能解决了。

从官网整理了一份各版本对应表:

AGP版本(build.gradle中) Gradle最低版本(gradle.properties中) 最低JDK版本(项目配置) SDK Build Tools
8.1 8.0 17 30.0.3
8.0 8.0 17 30.0.3
7.4 7.5 11 30.0.3
7.3 7.4 11 30.0.3
7.2 7.3.3 11 30.0.3
7.1 7.2 11 30.0.3
7.0 7.0.2 11 30.0.2
4.2.0+ 6.7.1 1.7 30.0.2
4.1.0+ 6.5+ 1.7 29.0.2
4.0.0+ 6.1.1+ 1.7 29.0.2
3.6.0 - 3.6.4 5.6.4+ 1.7 28.0.3
3.5.0 - 3.5.4 5.4.1+ 1.7 28.0.3
3.4.0 - 3.4.3 5.1.1+ 1.7 28.0.3
Android Studio 版本 所需 AGP 版本
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

方案

修改项目配置,对应上版本,很多老项目还在4.x版本,所以不兼容报错,一般升级7.0+就能解决,这也是谷歌倒推着我们开发者们往上升级,旧版的一些api慢慢都会废弃掉。

从4.x升级至7.0+的话,配置改动会大一点,主要是依赖仓库的配置、上传发布maven等日常配置,教程网上一堆,自行搜索即可。文章来源地址https://www.toymoban.com/news/detail-427976.html

到了这里,关于Android Studio升级Gradle Plugin升级导致项目运行失败问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发Android App,令人头疼的Android Studio、Gradle、JDK、Andrroid Gradle Plugin版本问题

    开发Android App,各种报错。真是炼狱般的体验,一弄弄一天,一抬头半夜两点半,时间废了还没成果,真是服了。 记录下问题,便于后期查阅。 看到网友搞笑评论:Gradle 在不做人方面,一直很稳定 Android Studio 版本:Flamingo | 2022.2.1 Patch 1 默认支持的JDK: 默认自带的 JDK 17 创建

    2024年01月25日
    浏览(60)
  • Android Studio 内gradle配置失败、下载gradle失败简单解决

    腾讯镜像的Gradle 下载之后 找到对应的.gradle文件 将下载文件放到 wrapper/dists/gradle-x.x-bin/xxxxxxxxxx/   下 并解压 会出来一个 gradle-xxx-bin的文件       将文件拿到 xxxxxxxxxx中 回到android studio 重新build gradle      

    2024年02月08日
    浏览(51)
  • Flutter & Android问题记录 - 升级Android Studio 2022.2.1版本后运行项目报错

    最近一个Flutter项目有新需求,开发时一直是在iOS设备上运行,花了几天做完后运行到Android设备测试,结果项目构建失败了。 Flutter: 3.7.11 Android Studio: 2022.2.1 Java: 17.0.6 Gradle: 7.4 Android Gradle Plugin (AGP): 4.1.3 项目构建报错日志: 报错有点眼熟,根据以往开发经验,应该是Gradle版本

    2023年04月24日
    浏览(83)
  • Android Studio下载gradle失败

    1、打开Android Studio设置Gradle的地方,点击左上角的File-Settings查看gradle存放路径 C:UsersAdministrator.gradlewrapperdistsgradle-5.4.1-all3221gyojl5jsh0helicew7rwx 2、找到正在下载的gradle版本,Android Studio取消下载gradle,然后删掉后缀.part文件以及.lck文件 3、将下载好的gradle文件放在.part相同目

    2024年01月22日
    浏览(57)
  • 解决Android Studio中Plugin version和Gradle version不匹配的问题

    《红猪》     前言 导入一个百度云的Demo而已,居然遇到这么多问题,纠结了很久,也查了很多资料,弯弯绕绕了好多路数才解决这个问题,在此记录一下,也分享出来给遇到同样问题的童鞋们。 版本信息 Android Studio版本3.4.1 问题发生及解决方式 导入百度云文字识别Demo,提

    2024年02月10日
    浏览(47)
  • android studio gradle 下载失败解决方案

    报错如上,介绍个绝对成功的办法,看了很多文章居然都没人提到,这里的意思就是这个地址访问失败,所以有两种解决方案,一种是换代理,一种是直接更换下载地址。这里介绍第二种方法,基本都能成功,先去找到下载页面,题主写时可用界面为Gradle Distributions 然后找到

    2024年02月21日
    浏览(53)
  • Android Studio 升级 Flamingo 后 Gradle 又挂了

    1.Gradle 7.2 才支持 Java 17 Unsupported Java. Your build is currently configured to use Java 17.0.6 and Gradle 5.0. Possible solution:  - Upgrade Gradle wrapper to 7.2 version and re-import the project   2.Android plugin 7.1 才支持 Gradle 7.2 Unable to find method \\\'\\\'org.gradle.api.file.DirectoryProperty org.gradle.api.file.ProjectLayout.directoryProp

    2024年02月02日
    浏览(39)
  • 关于Android Studio 同步Gradle失败的解决方案

    (1)打开Android Studio的Settings找到Gradle的目录 (2)打开本地文件目录,找到对应的gradle版本,可以通过Index of /gradle/ 下载gradle压缩包。把目录中gradle-7.0.2-bin一堆字符    下 的.lck 和.part文件删除后。再回到Android Studio中同步即可解决。

    2024年02月02日
    浏览(55)
  • android升级SDK 到30,导致微信登录,支付失败

    当时为了将应用上传 google play ,所以升级了sdk 版本号 targetSdkVersion = 30 ,后来发现升级之后,应用中微信登录,微信支付,都拉不起来了,点击登录,或者支付,没有任何响应。 通过看日志发现, sendReq failed for wechat app signature check failed 是微信没有被拉起, 后来了解资料发现

    2024年02月05日
    浏览(49)
  • 记录Android Studio 升级Gradle7.5-8.5遇到的问题

    首先说明我升级到的是: Gradle 8.5 ,Android(AGP 8.2.2)、kotlin(1.9.22)相关插件升级这里就不做说明了 问题1:Gradle8.0+后需要使用JDK17,JavaVersion.VERSION_17 我的AS修改后需要重新打开项目,否则不起效果。 问题2 :namespace,所有模块必须要有namespace 所有模块添加namespace,同时会导致模块

    2024年04月12日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包