提问人:Navis62 提问时间:10/26/2023 最后编辑:Navis62 更新时间:10/28/2023 访问量:256
模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本为 1.9.0,预期版本为 1.7.1
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
问:
我正在尝试在 android studio Giraffe 上构建一个 android 应用程序。 当我尝试升级build.gradle中的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:模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本为 1.9.0,预期版本为 1.7.1。
这是我的build.gradle(项目) 我将 kotlinVersion 从 1.6.0 更改为 1.9.10,这是安装在 Android Studio 中的版本 我还将classpath(“com.bugsnag:bugsnag-android-gradle-plugin:7.+”)更改为8.+
我在互联网上能找到的只是“更新 build.gradle 中的 kotlinVersion”,但它似乎是正确的。而且我在整个项目中找不到任何“1.7.1”跟踪。
另一个问题:我手动更改了 Android Gradle 插件,因为 AGP 升级助手不起作用,我得到了永久的加载。我检测到我在 7.4.2 中
buildscript {
ext {
buildToolsVersion = "33.0.0"
minSdkVersion = 24
compileSdkVersion = 33
targetSdkVersion = 33
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
ndkVersion = "23.1.7779620"
// Only using Android Support libraries - from react-native-iap
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" // from react-native-iap
}
}
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 // This is for method limit
missingDimensionStrategy 'react-native-camera', 'general'
missingDimensionStrategy 'store', 'play' // react-native-iap
}
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"
// The version of react-native is set by the React Native Gradle Plugin
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)
答:
引发此错误的原因是,当项目要求使用 Kotlin 1.7.1 时,您正在尝试使用 Kotlin 1.9.0。
在 Android Studio 中检查您的 Kotlin 版本:
Settings
-> Languages and Frameworks
-> Kotlin
检查您正在使用的版本,如果您愿意更新,请选择正确的版本(应该是 1.9.0)并通过 Android Studio 安装。
AGP 不工作的原因可能有多种原因。这是一个 React Native 项目(我不熟悉),但我找到了这个
报价:
React Native 尚不支持 Android Gradle 插件 8.0.x。我们在这里工作: AGP 到 8.0.2 #37019 一般来说,你不应该独立于 React Native 版本来提升 AGP。在 0.71.x 上,要使用的 AGP 版本是 7.3.1。
要使用 Android Studio 轻松管理 Gradle,请执行以下操作:
File
-> Project Structure
-> Project
您可以在此处找到您的 Gradle 版本。
评论