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

329
Stripe中,我的客户希望获取电子邮件和持卡人姓名,但Stripe支付界面在com.stripe.android.view.CardMultilineWidget中没有提供该选项。我想尝试一下最新的Stripe版本。
我使用的是Stripe版本(14.1.1)。所以我将其更新到最新版本(16.8.0)。
构建过程中显示了一个错误,它不支持minSdkVersion 19。在manifest merger中需要21。所以我将minSdkVersion更新为21
我遇到了以下问题:
caches/transforms-2/files-2.1/4541b0189187e0017d23bbb0afebd16a/jetified-kotlin-stdlib-common-1.5.0.jar!/META-INF/kotlin-stdlib-common.kotlin_module: 该模块是使用不兼容的Kotlin版本编译的。其元数据的二进制版本为1.5.1,而期望版本为1.1.15。

我尝试更改Gradle版本,但仍然遇到相同的错误。我该如何解决不兼容的错误,并在Stripe中添加电子邮件和持卡人姓名?

1
关于 Kotlin 构建错误,这两个之前的回答是否有帮助?https://dev59.com/jFEG5IYBdhLWcg3wWbH5#67470309 https://dev59.com/b5Pfa4cB1Zd3GeqPGa_J#35170452 - Nolan H
2
在构建使用我的库的应用程序时,我遇到了这个问题。它似乎是由于 Kotlin Gradle 插件从 1.4.32 更新到 1.5.31 导致的。为了解决这个问题,我将 languageVersion 和 apiVersion 更改为“1.4”,并构建了一个新版本的库。虽然与此处描述的客户端问题没有直接关系,但对于库维护者可能会有所帮助。 - fejd
37个回答

1
项目 build.gradle:
ext.kotlin_version = '1.6.10'

app/build.gradle:

  dependencies {
   //  classpath 'com.android.tools.build:gradle:7.1.2'
   //  classpath "org.jetbrains.kotlin:kotlin-gradle- plugin:$kotlin_version"
   }

但是在将ext.kotlin_version更改为较低版本后,这个警告仍然存在,但红色警告消失了。

enter image description here


1
This works for me

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"
    }
}

你可以建议一个不需要更新AGP的版本。 - Saeed Darvish

1
很多时候,错误可能在集成库后出现。集成的库可能使用比您项目中使用的 Kotlin 版本更新的版本进行编译。在这种情况下,有两个解决方案:
  1. 降级库的依赖版本。
  2. 将您自己项目的 Kotlin 版本升级到大于或等于该库的 Kotlin 版本。

0
在您的 build.gradle 中添加 classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0”,同步并重启 Studio,这样就可以工作了。这种方法适用于我。
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        def nav_version = "2.5.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
        classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version")
        classpath 'com.google.gms:google-services:4.3.15'

    }
}

0
请检查您的Kotlin版本是否与Compose版本兼容。 如果不兼容,请进行更改,然后它应该可以正常工作。
Compose编译器版本 兼容的Kotlin编译器版本
1.3.0 --> 1.7.10
1.3.0-rc01 --> 1.7.10
1.3.0-beta01 --> 1.7.10
1.2.0 --> 1.7.0
1.2.0-rc01 --> 1.6.21
1.2.0-beta03 --> 1.6.21
1.2.0-alpha08 --> 1.6.20
1.1.0 --> 1.6.10
1.1.1 --> 1.6.10
1.1.0-rc031.6.10

0
在我们的情况下,这是一个对Auth0的更新的变化。在build.gradle中,我们使用了一个前缀版本范围:
implementation 'com.auth0.android:auth0:2.+'
由于我们覆盖了Kotlin版本,我们只需要将Auth0版本更新为一个确切的版本,以防止出现6K+的构建错误:
implementation 'com.auth0.android:auth0:2.10.1'

0
有人尝试过在pubspec.yaml文件中更改"environment"设置吗?因为这对我有效。我只是将我最近创建的项目的"environment"设置复制到了我的旧项目中。

0
我只是下载了更新的版本。

enter image description here

我目前使用的是搭载M1芯片的Mac mini。
之前,我的Android Studio版本是Bumblebee。现在我已经升级到了Giraffe版本。
升级后一切运行正常。

0

我在使用Flutter时遇到了同样的问题,按照@Muzzamil所说的方法前往文件 > 设置 > 插件,检查我的IDE中的Kotlin版本,并简单地将ext.kotlin_version(即1.6.10)的值替换为该值即可解决问题。

ext.kotlin_version = '1.6.10'

0

我已经设置了最低SDK版本为24并重新启动了Android Studio,现在它可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接