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

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

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

  2. 构建显示了它不接受minSdkVersion 19的错误。它需要manifest merger中的21。所以我将minSdkVersion更新为21

  3. < p >我了

    caches/transforms-2/files-2.1/4541b0189187e0017d23bbb0afebd16a/jetified-kotlin-stdlib-common-1.5.0.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    

我尝试改变Gradle版本,但我仍然得到相同的错误。如何解决不兼容的错误,在Stripe中添加邮箱和持卡人姓名?

180858 次浏览

确保你的IDE的Kotlin版本与你在gradle中声明的版本相同。构建文件。

在文件build.gradle中更改这一点解决了我的问题。

ext.kotlin_version = '1.3.50'

ext.kotlin_version = '1.6.0'

或者是Kotlin 可用的最新版本,并确保在Android Studio上更新Kotlin版本。

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

我从昨晚就开始面对这个问题。只是浏览一些网页无法得到确切的解决方案。我最终通过以下步骤解决了这个问题:

  • ext.kotlin_version = '1.3.50'替换为build.gradle文件中的ext.kotlin_version = '1.4.32'
  • __abc0→__abc1→__abc2

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

接下来,在gradle文件中,转到build.gradle(项目:YourApp)。然后,更改以下代码(在buildscript中):

ext.kotlin_version = '1.3.50'

到最新版本,如:

ext.kotlin_version = '1.4.32'

要了解最新版本,请转到设置和插件,找到Kotlin插件,并确保它已更新。最新版本是在JetBrains名下。

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

另一个解决方案是将androidx.core:core-ktx库降级为任何兼容版本。这个函数适用于kotlin_version = '1.3.31':

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.3.1'  // The only working for this version (sdk/gradle)
implementation 'androidx.core:core-ktx:1.0.2' // The only working for this version (sdk/gradle)
implementation 'androidx.constraintlayout:constraintlayout:1.1.2' // higher versions require min-sdk >= 26
...
}

Android SDK: compileSdkVersion 30minSdkVersion 19

Gradle构建工具:com.android.tools.build:gradle:3.3.1

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

ext.kotlin_version = '1.4.32'

Enter image description here

这里的大多数答案似乎都围绕着使用Gradle的项目。

我在IntelliJ IDEA中随机遇到了这个问题,那是在编译和运行Maven项目之前5分钟-没有配置更改。我引入了一个新的异常类,然后出现了这个问题。

我尝试了无效缓存和重新启动,这并没有解决问题-但是,禁用和重新启用Kotlin插件解决了问题。

我在Maven项目的IntelliJ IDEA中遇到了这个错误。 解决方案是关闭IntelliJ IDEA中的Kotlin插件,如果你的项目中没有使用Kotlin

至:

菜单文件设置插件

点击复选框关闭Kotlin插件。在这里看到的:

Enter image description here

通过更新Kotlin Gradle插件版本修复了这个问题。

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

ext.kotlin_version = '1.6.10'
你可以在这里找到最新的Kotlin Gradle插件版本 工具/构建工具/ Gradle < / em >。

使用Flutter,由以下方法修复:

  • 更新Android Studio包,特别是Kotlin插件。

  • Gradle插件和版本中获取Kotlin插件的最新版本Nbr。目前是1.6.10。

  • 更新& lt; Your_project_name_folder> \ android \ build.gradle文件,将旧的Kotlin版本替换为你从上面的网站获得的新版本。

    ext.kotlin_version = '<The_new_version_Nbr>' 在我的情况下ext.kotlin_version = '1.6.10'

  • 重启Visual Studio Code。

你就完成了。

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

在我的例子中,Android build.gradle文件中缺少kotlin-gradle-plugin的一行,所以添加ext.kotlin_version = '1.6.10'并不能解决这个问题。

后添加

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

错误消失了。

完整代码部分:

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


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

我在颤振中遇到了同样的问题,我通过去: 文件比;设置在Plugins正如@Muzzamil所说,我在我的IDE中检查了Kotlin的版本,并简单地将ext.kotlin_version(即1.6.10)中的值替换为该值

ext.kotlin_version = '1.6.10'

在我的案例中

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

得到(依赖)内build.gradle(项目)转换从1.5.x (x)在我的情况下是(20)

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"

1.7.10

 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10"

只需转到文件build.gradle(项目:yourProjectName)。

改变

plugins {
...


id 'org.jetbrains.kotlin.android' version '1.5.x' apply false


...
}

(1.5。X表示在您的情况下的X版本号,例如1.5.1。)

plugins {
...


id 'org.jetbrains.kotlin.android' version '1.7.10' apply false


...
}

这对我来说是有效的……

我已经设置了minsdk 24并重新启动Android Studio,其工作正常。

项目build.gradle:

ext.kotlin_version = '1.6.10'

应用程序/ 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

更改项目构建gradle为

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

虽然这个问题已经得到了回答,但我认为有必要解释一下正在发生的事情

例如:

The binary version of its metadata is 1.7.1, expected version is 1.5.1.

expected版本是kotlin-gradle-plugin的Kotlin版本

binary版本是下载的(或之前编译的) 对于com.android.tools.build:gradle < / p >

& lt; project_dir> / 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

为什么这种情况如此普遍?

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

来自Android Studio的警告以匹配Kotlin版本

  1. 用户根据警告更新android构建工具gradle插件

关于android构建工具的警告

这是错误的版本!< / >强

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

还有什么错呢?

由于缓存,gradle可能在你更新之前使用了一个旧的依赖项。清洁开始:

  1. 删除~/.gradle /缓存目录
  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. from project_dir do flutter build apk

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

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

进入文件构建。Gradle,改变kotlin的版本。 万一在我的颤振项目我打开构建。Gradle和改变

`ext.kotlin_version = '1.5.30'`
< p > ext.kotlin_version = '1.6.0' < / p >

在这里

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"
    

}


然后保存并执行

flutter cleanflutter run

对我来说没问题。

对于macOS你可以

rm -r $HOME/.gradle/caches/

或者你可以使缓存失效

File >> Invalidate caches

解决方案 执行com.android.build.gradle.internal.tasks

时出错