模块是用不兼容的 Kotlin 版本编译的。其元数据的二进制版本为 1.5.1,预期版本为 1.1.15

Kar*_*Sbk 41 android kotlin stripe-payments android-studio

在 Stripe 中,我的客户想要电子邮件和持卡人姓名,但Stripe支付 UI 没有在com.stripe.android.view.CardMultilineWidget 中提供该选项。我想试试最新的条纹版本,

  1. 我使用的是条纹版本(14.1.1)。所以更新到最新的(16.8.0)

  2. Build 向我展示了它不需要 minSdkVersion 19. requires 21 in manifest merge 的错误。所以我将 minSdkVersion 更新为 21

  3. 我得到了 caches/transforms-2/files-2.1/4541b0189187e0017d23bbb0afebd16a/jetified-kotlin-stdlib-common-1.5.0.jar!/META-INF/kotlin-stdlib-common.kotlin_module 的模块不兼容的编译版本 Kotlin_module: . 其元数据的二进制版本为 1.5.1,预期版本为 1.1.15。

我厌倦了改变 gradle 版本。仍然得到同样的错误。需要一些帮助来解决不兼容的错误并在条带中添加电子邮件和持卡人姓名。谢谢。

aar*_*gas 255

虽然这个问题已经得到解答,但我认为值得解释一下发生了什么

举个例子:

The binary version of its metadata is 1.7.1, expected version is 1.5.1.
Run Code Online (Sandbox Code Playgroud)

expected版本是 Kotlin 的kotlin-gradle-plugin

版本binary是下载(或之前编译)的版本com.android.tools.build:gradle

<项目目录>/android/build.gradle

buildscript {
    ext.kotlin_version = '1.5.20' // <= expected version is 1.5.1
}
dependencies {
    classpath 'com.android.tools.build:gradle:7.3.1' // downloads 1.7.1 Metadata
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // <= 1.5.20 used here
Run Code Online (Sandbox Code Playgroud)

为什么这种事会发生这么多?

  1. 用户根据警告更新了插件的 Kotlin 版本以匹配 IDE 版本。

Android Studio 发出警告以匹配 Kotlin 版本

  1. 用户根据警告更新 android build tools gradle 插件

关于 Android 构建工具的警告

这是错误的版本!

现在您没有任何警告,但建议的版本7.1.3不是最新的。(我不知道为什么它建议这个旧版本)7.3.1目前是最新的并且是元数据,所以它将匹配(这也是元数据)1.7.1的Kotlin版本1.7.201.7.1

还有什么可能是错误的?

由于缓存的原因,gradle 可能在更新之前使用较旧的依赖项。开始清理:

  1. 删除~/.gradle/cache目录
  2. 删除 android/.gradle 目录
  3. 删除project_dir/build目录
  4. 确保android/gradle/gradle-wrapper.properies具有正确的distributionUrl(当前distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
  5. 从project_dir做flutter build apk

com.android.tools.build:gradle注意:如果您的依赖项版本太旧,则可能需要更新。或者,kotlin 和tools:gradle版本都可以降级到与元数据匹配的兼容版本(尽管 Android Studio 会警告不匹配 IDE Kotlin 版本)

如何防止这种情况再次发生?

  • 应该是公认的答案,最佳答案在这里 (8认同)
  • 那个怎么样?这是正确的答案。哥们,谢啦!! (2认同)

小智 118

什么解决了我的问题正在改变这个 build.gradle

ext.kotlin_version = '1.3.50'
Run Code Online (Sandbox Code Playgroud)

ext.kotlin_version = '1.4.32'
Run Code Online (Sandbox Code Playgroud)

或者有什么最新版本的 Kotlin可用,并确保在 Android Studio 上更新 Kotlin 版本

  • 这行代码位于此文件中:“flutter_app/android/build.gradle” (34认同)
  • 有关此处发生的情况的详细说明,请参阅此答案 /sf/answers/5209774321/ (6认同)
  • 这个解决了我的问题,谢谢大佬 (2认同)

kas*_*hlo 65

我在Flutter项目中遇到了这个问题。

\n

就我而言,Android build.gradle文件中缺少kotlin-gradle-plugin行,因此添加\xe2\x80\x99 并不能修复它。ext.kotlin_version = '1.6.10'

\n

添加后

\n

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

\n

错误消失了。

\n

完整代码部分:

\n
buildscript {\n    ext.kotlin_version = '1.6.10'\n    repositories {\n        google()\n        mavenCentral()\n    }\n\n    dependencies {\n        classpath 'com.android.tools.build:gradle:4.1.0'\n        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n


Ume*_*qas 30

如果您在 Android 版 Flutter 构建中遇到此错误,请尝试将 Kotlin 版本更改为

ext.kotlin_version = '1.4.32'

在此输入图像描述


MYJ*_*rld 22

首先,转到设置,然后导航到插件。找到 Kotlin 插件并更新它。

接下来,在 gradle 文件中,转到build.gradle(项目:YourApp)。然后,将以下代码(在构建脚本中)更改为:

ext.kotlin_version = '1.3.50'
Run Code Online (Sandbox Code Playgroud)

到最新版本,例如:

ext.kotlin_version = '1.4.32'
Run Code Online (Sandbox Code Playgroud)

要了解最新版本,请转到设置和插件,找到 Kotlin 插件,并确保其已更新。最新版本位于 JetBrains 下。

按照说明操作后,您的错误将得到解决。

  • 我当前的项目很旧了。正是 1.4.32 版本让我解决了这个问题。更新到新版本会产生一些问题。 (2认同)

Uda*_*ghe 15

通过更新 Kotlin Gradle 插件版本已修复该问题。

在项目级别的build.gradle文件中,更新以下行。

ext.kotlin_version = '1.6.10'
Run Code Online (Sandbox Code Playgroud)

您可以在Tools / Build tools / Gradle找到最新的 Kotlin Gradle 插件版本 。


小智 15

将项目构建等级更改为

    buildscript {
    ext.kotlin_version = '1.7.20'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
Run Code Online (Sandbox Code Playgroud)


Zia*_*ela 11

就我而言

其元数据的二进制版本是1.7.1,预期版本是1.5.1

在 build.gradle(project) 中从1.5.x(x) 转换的 (依赖项) 在我的情况下是 (20)

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"
Run Code Online (Sandbox Code Playgroud)

1.7.10

 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10"
Run Code Online (Sandbox Code Playgroud)


小智 11

在这种情况下,请仔细阅读 build.gradle (:project)。我忽略了这个警告,这就是我遇到这个问题的原因。

最初我的 build.gradle (:project) 设置是

plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
}
Run Code Online (Sandbox Code Playgroud)

当我收到这个错误时

模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是1.8.0,预期版本是1.6.0。

所以我将 build.gradle (:project) 中的设置更改为以下内容:

plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.8.10' apply false
}
Run Code Online (Sandbox Code Playgroud)

希望它能解决您的问题。


小智 9

确保 IDE 的 Kotlin 版本与 gradle.build 文件中声明的版本相同。


Con*_*nce 6

进入build.gradle文件,更改kotlin的版本。如果在我的 flutter 项目中我打开 build.gradle 并更改

`ext.kotlin_version = '1.5.30'` 
Run Code Online (Sandbox Code Playgroud)

ext.kotlin_version = '1.6.0'

这里

buildscript {
ext.kotlin_version = '1.6.0'

repositories {
    google()
    jcenter()
}

dependencies {
    classpath 'com.android.tools.build:gradle:4.1.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    
}
Run Code Online (Sandbox Code Playgroud)

}


然后保存并执行

flutter cleanflutter run

对我来说效果很好。


far*_*iaz 5

问题:你需要做什么来解决这个问题?

答:我从昨晚开始就面临这个问题。只要浏览过某些网页无法得到确切的解决方案终于解决它通过这些步骤,替换ext.kotlin_version = '1.3.50',以ext.kotlin_version = '1.4.32'build.gradle文件中。Clean project -> Build the project with gradle files -> Run


归档时间:

查看次数:

17541 次

最近记录:

4 年,2 月 前