You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 2.2项目适配Android 13(targetSdk33)遇构建错误求助

Flutter 2.2适配Android 13构建错误解决方案

你的怀疑完全正确,Flutter 2.2版本(2021年发布)本身未适配Android 13(targetSdkVersion 33),这是导致两类构建错误的核心原因,以下是具体分析和解决办法:

错误原因分析

1. Gradle版本低于7时的错误

Could not open proj generic class cache for build file 'path/to/app/android/app/build.gradle'... Unsupported class file major version 62

这个错误是因为Java 17的class文件版本号为62,而Gradle 6.x及以下版本不支持Java 17。但适配Android 13通常需要使用更高版本的Java环境,旧版Gradle无法兼容,从而触发该错误。

2. Gradle版本高于7时的错误

In plugin 'com.android.build.gradle.api.AndroidBasePlugin' type 'com.android.build.gradle.tasks.RenderscriptCompile' method 'useAndroidX()' should not be annotated with: @Input...

Flutter 2.2内置的Android Gradle插件(AGP)版本较低(通常为4.x系列),高版本Gradle(7.x+)对插件的注解规范有更严格的要求,旧版AGP的代码不符合新规范,因此抛出该注解错误。

解决办法

方案1:升级Flutter版本(推荐)

Flutter 3.3及以上版本开始正式支持Android 13,升级后官方会同步更新配套的Gradle、AGP版本,彻底解决兼容性问题:

  • 执行命令升级:
    flutter upgrade
    
  • 升级后按照Flutter的提示处理依赖冲突,确保所有第三方插件也适配新版本Flutter。

方案2:手动适配(不推荐,存在潜在风险)

若暂时无法升级Flutter,可尝试手动调整Gradle、AGP和Java版本来适配:

  1. 修改android/build.gradle中的构建脚本:
    buildscript {
        ext.kotlin_version = '1.6.10' // 升级Kotlin版本适配AGP 7.x
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:7.0.4' // 适配targetSdk 33的最低AGP版本
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
  2. 修改android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
    
  3. 确保使用Java 11环境(AGP 7.x要求Java 11),避免使用Java 17引发版本冲突。

注意:手动适配可能会触发更多隐藏的兼容性问题(比如Flutter框架API与Android 13行为不兼容),仅作为临时过渡方案。

内容的提问来源于stack exchange,提问作者Rafał Klebba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:50:19