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

Flutter Android构建报错:JVM目标版本不兼容及API废弃警告

Flutter Android构建失败:JVM版本不兼容及API废弃警告解决

一、修复JVM目标版本不兼容问题

报错核心是emoji_picker_flutter库的Java编译目标(1.8)与Kotlin编译目标(18)不匹配,统一两者版本即可解决:

  • 全局统一JVM目标版本
    在项目根目录的build.gradle(项目级)中,添加全局Kotlin编译配置,强制所有模块使用相同JVM目标:

    buildscript {
        ext.kotlin_version = '1.9.0'
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            classpath "com.android.tools.build:gradle:7.4.2"
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
        tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
            kotlinOptions {
                jvmTarget = "1.8"
            }
        }
    }
    
  • 单独指定目标库的编译配置
    若不想全局修改,可在应用级build.gradle中仅对emoji_picker_flutter设置JVM目标:

    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }
    
    // 强制emoji_picker_flutter使用指定JVM目标
    project(':emoji_picker_flutter').tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }
    

二、处理device_info_plus的API废弃警告

废弃警告源于库中使用了旧版Android API,可通过以下方式解决:

  • 升级库到最新稳定版
    在pubspec.yaml中更新device_info_plus版本:

    dependencies:
        device_info_plus: ^9.1.0 # 替换为当前最新稳定版本
    

    执行flutter pub get后重新构建,新版本通常已替换废弃API。

  • 手动适配新API(无法升级时)
    修改MethodCallHandlerImpl.kt中的废弃代码:

    • 用Build.VERSION_CODES常量替代Build.VERSION.SDK_INT的硬编码判断
    • 替换废弃的硬件信息获取方法,例如使用PackageInfoCompat替代旧版PackageInfo的相关调用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:57:13