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

Flutter配置Admob后运行报CheckAarMetadataWorkAction执行失败怎么办

问题原因

你接入的Admob SDK间接依赖了androidx.work:work-runtime:2.7.0,该依赖的AAR元数据要求最小编译SDK版本为31,但当前项目配置的compileSdkVersion为30,版本不匹配导致编译任务执行失败。

解决方案

方案1:升级编译SDK版本(推荐)

该方案不会影响App对低版本安卓系统的兼容性,你无需修改minSdkVersion配置,仅需修改android/app/build.gradle中的两处配置即可:

  1. 把android代码块下的compileSdkVersion 30修改为compileSdkVersion 31
  2. 把defaultConfig代码块下的targetSdkVersion 30修改为targetSdkVersion 31

修改后的对应配置片段如下:

android {
    compileSdkVersion 31 // 此处修改为31

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        applicationId "com.example.bedtime_horror_story"
        minSdkVersion 20 // 该配置无需修改,依然兼容安卓5.0及以上设备
        targetSdkVersion 31 // 此处修改为31
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }
}

方案2:强制指定低版本依赖(临时兼容)

如果你暂时不想升级compileSdk,可以通过强制指定低版本work-runtime依赖绕过版本校验,在android/build.gradle的allprojects代码块中添加如下规则:

allprojects {
    repositories {
        google()
        mavenCentral()
    }
    // 新增以下配置
    configurations.all {
        resolutionStrategy { 
            force 'androidx.work:work-runtime:2.6.0' 
        }
    }
}

生效操作

修改完成后执行以下命令清理项目缓存,再重新运行即可:

flutter clean
flutter pub get

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:54:05