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

Flutter构建APK出现cannot find symbol编译错误求助

Flutter APK构建失败问题解决

相关配置文件内容

gradle.wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists

模块级build.gradle

android {
    namespace = "com.mycompany.refereevision"
    compileSdkVersion 35
    ndkVersion "27.0.12077973"

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = 17
    }
}

gradle.properties

org.gradle.jvmargs=-Xmx4608m
android.useAndroidX=true 
android.enableJetifier=true android.enableR8=true RELEASE_STORE_FILE=D\\:/refereevision/upload-keystore.jks 
RELEASE_STORE_PASSWORD=K1o2b3e4 
RELEASE_KEY_ALIAS=upload
RELEASE_KEY_PASSWORD=K1o2b3e4
kotlin.jvm.target.validation.mode = IGNORE

构建错误详情

执行flutter build apk命令时,流程及错误如下:

  1. 自动安装Android SDK Platform 34
  2. 弹出字体摇树优化提示
  3. 出现Java 8版本过时警告
  4. 核心编译错误来自flutter_inappwebview_android-1.0.13依赖,其InAppWebViewFlutterPlugin.java文件无法找到FlutterView、PluginRegistry.Registrar等符号,共5个错误
  5. 最终导致任务:flutter_inappwebview_android:compileReleaseJavaWithJavac执行失败,构建耗时2分1秒,返回码1

解决方法

  1. 升级flutter_inappwebview依赖版本
    旧版本1.0.13未适配最新Flutter Android API(FlutterView、PluginRegistry.Registrar已被废弃或移除),在pubspec.yaml中将依赖升级到最新稳定版,示例:

    flutter_inappwebview: ^6.0.0 # 以实际最新版本为准
    

    执行flutter pub get更新依赖。

  2. 升级Flutter SDK
    执行flutter upgrade将本地Flutter SDK升级至最新稳定版,确保与依赖版本兼容。

  3. 统一子模块Java版本配置
    在模块级build.gradle中添加配置,强制所有子模块使用Java 17编译,避免依赖模块沿用Java 8:

    android {
        // 原有配置...
        subprojects {
            afterEvaluate { project ->
                if (project.hasProperty('android')) {
                    project.android {
                        compileOptions {
                            sourceCompatibility JavaVersion.VERSION_17
                            targetCompatibility JavaVersion.VERSION_17
                        }
                        kotlinOptions {
                            jvmTarget = '17'
                        }
                    }
                }
            }
        }
    }
    
  4. 安装指定版本Android SDK
    通过Android Studio的SDK Manager安装compileSdkVersion指定的35版本SDK,替换自动安装的34版本。

内容的提问来源于stack exchange,提问作者Ajoy Lawrence

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:45:06