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

Android Studio Giraffe中Kotlin版本不兼容问题求助

Kotlin版本不兼容错误排查与解决

问题详情

错误提示

C:/Users/myself/.gradle/wrapper/dists/gradle-8.4-all/56r6xik2f6skrm47et0ibifug/gradle-8.4/lib/kotlin-stdlib-1.9.10.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.

已执行操作

  • 项目根build.gradle中kotlinVersion从1.6.0改为1.9.10(匹配Android Studio Giraffe内置版本)
  • com.bugsnag:bugsnag-android-gradle-plugin版本从7.+升级至8.+
  • 手动将AGP版本调整为7.4.2,但AGP升级助手无限加载无法使用
  • 全局排查项目未发现Kotlin 1.7.1的配置痕迹

当前配置文件

项目根build.gradle

buildscript {
    ext {
        buildToolsVersion = "33.0.0"
        minSdkVersion = 24
        compileSdkVersion = 33
        targetSdkVersion = 33
        ndkVersion = "23.1.7779620"
        supportLibVersion = "28.0.0"
        kotlinVersion = '1.9.10'
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle")
        classpath("com.bugsnag:bugsnag-android-gradle-plugin:8.+")
        classpath("com.facebook.react:react-native-gradle-plugin")
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    }
}

wrapper {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

模块build.gradle

apply plugin: "com.android.application"
apply plugin: "com.facebook.react"

react {
    
}

apply plugin: "com.bugsnag.android.gradle"
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" 

def enableProguardInReleaseBuilds = false

def jscFlavor = 'org.webkit:android-jsc:+'

android {
    ndkVersion rootProject.ext.ndkVersion

    compileSdkVersion rootProject.ext.compileSdkVersion

    namespace "XXX"
    defaultConfig {
        applicationId "XXX"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 270
        versionName "1"
        multiDexEnabled true
        missingDimensionStrategy 'react-native-camera', 'general'
        missingDimensionStrategy 'store', 'play'
    }

    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
        debug {
            storeFile file('debug.keystore')
            storePassword 'android'
            keyAlias 'androiddebugkey'
            keyPassword 'android'
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }
}

dependencies {
    implementation "com.android.billingclient:billing:6.0.1"
    implementation("com.facebook.react:react-android")
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'androidx.work:work-runtime:2.8.1'

    debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
    debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
        exclude group:'com.squareup.okhttp3', module:'okhttp'
    }
    debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")

    implementation 'com.getkeepsafe.relinker:relinker:1.4.5'

    if (hermesEnabled.toBoolean()) {
        implementation("com.facebook.react:hermes-android")
    } else {
        implementation jscFlavor
    }
}

apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

解决方案

1. 修复Gradle Wrapper版本冲突

当前项目配置的Gradle Wrapper版本为4.4,但实际使用的是Gradle 8.4,版本严重不匹配导致Kotlin版本混乱。修改根build.gradle的wrapper配置:

wrapper {
    gradleVersion = '8.4' // 与本地使用的Gradle版本一致
    distributionUrl = "https://services.gradle.org/distributions/gradle-8.4-all.zip"
}

执行命令更新Wrapper:

./gradlew wrapper

2. 匹配AGP与Kotlin版本兼容性

AGP 7.4.2仅支持Kotlin 1.8.x及以下版本,直接使用1.9.10会触发兼容性问题,二选一调整:

  • 方案A:降级Kotlin版本(适配现有AGP 7.4.2)
    修改根build.gradle的kotlinVersion:
    ext {
        kotlinVersion = '1.8.22' // AGP 7.4.2官方兼容版本
    }
    
  • 方案B:升级AGP版本(推荐,适配Kotlin 1.9.10)
    修改根build.gradle的AGP依赖:
    dependencies {
        classpath("com.android.tools.build:gradle:8.1.4") // 支持Kotlin 1.9.x的AGP版本
    }
    

3. 强制子项目使用统一Kotlin版本

在根build.gradle的subprojects块中添加版本强制规则,避免第三方依赖引入旧版Kotlin:

subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
            // 强制所有依赖使用统一Kotlin版本
            configurations.all {
                resolutionStrategy.force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"
                resolutionStrategy.force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
                resolutionStrategy.force "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"
            }
        }
    }
}

4. 清理缓存并重建

  • 重启Android Studio:File -> Invalidate Caches... -> Invalidate and Restart
  • 执行清理构建命令:
    ./gradlew clean build --refresh-dependencies
    

额外检查

  • 确认React Native依赖兼容性:删除node_modules和package-lock.json,重新执行npm install
  • 固定Bugsnag插件版本:将8.+改为具体版本(如8.7.0),避免自动拉取不兼容版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:40:13