El módulo se compiló con una versión incompatible de Kotlin. La versión binaria de sus metadatos es 1.5.1, la versión esperada es 1.1.15
En Stripe , mi cliente quiere correo electrónico y nombre del titular de la tarjeta, pero la interfaz de usuario de pago de Stripe no ofrece esa opción en com.stripe.android.view.CardMultilineWidget
. Quería probarlo con la última versión stripe,
Estaba usando la versión Stripe (14.1.1). Entonces lo actualicé a la última versión (16.8.0)
La compilación me mostró el error de que no funciona
minSdkVersion 19
. Requiere21
enmanifest merger
. Así que actualicéminSdkVersion
a21
.Obtuve
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.
Intenté cambiar la versión de Gradle, pero sigo recibiendo el mismo error. ¿Cómo puedo solucionar el error de incompatible y agregar el correo electrónico y el nombre del titular de la tarjeta en Stripe?
Cambiar esto en el archivo build.gradle
resolvió mi problema.
De
ext.kotlin_version = '1.3.50'
a
ext.kotlin_version = '1.6.0'
O cualquiera que sea la última versión de Kotlin disponible y asegúrese de actualizar también la versión de Kotlin en Android Studio.
Aunque esta pregunta ya ha sido respondida, creo que vale la pena explicar qué está pasando.
Por ejemplo:
The binary version of its metadata is 1.7.1, expected version is 1.5.1.
La expected
versión es la Kotlin parakotlin-gradle-plugin
La binary
versión es lo que se descarga (o compila previamente) paracom.android.tools.build:gradle
<dir_proyecto>/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
¿Por qué sucede esto con tanta frecuencia?
- El usuario actualiza la versión Kotlin del complemento para que coincida con la versión IDE según la advertencia.
- El usuario actualiza el complemento Gradle de las herramientas de compilación de Android según la advertencia
¡Esta es la versión incorrecta!
Ahora no tiene ninguna advertencia, pero la versión sugerida es 7.1.3
la que no es la más reciente. (No sé por qué sugiere esta versión anterior) 7.3.1
es actualmente la más reciente y es metadatos 1.7.1
, por lo que coincidirá con la versión de Kotlin 1.7.20
(que también es metadatos 1.7.1
)
¿Qué más podría estar mal?
Debido al almacenamiento en caché, es posible que Gradle esté usando una dependencia anterior antes de la actualización. Para empezar a limpiar:
- eliminar el directorio ~/.gradle/cache
- eliminar el directorio android/.gradle
- eliminar el directorio project_dir/build dir
- asegúrese de que
android/gradle/gradle-wrapper.properies
tenga la información correctadistributionUrl
(actualmentedistributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
) - desde project_dir hacer
flutter build apk
NOTA: es posible que sea necesario actualizar sus dependencias si su com.android.tools.build:gradle
versión es demasiado antigua. Alternativamente, tanto Kotlin como tools:gradle
las versiones se pueden degradar a una versión compatible que coincida con los metadatos (aunque Android Studio advertirá si no coincide con la versión de IDE Kotlin).
¿Cómo evitar que esto vuelva a suceder?
Utilice normalmente la misma versión de Kotlin que el IDE para
ext.kotlin_version
. consulte https://kotlinlang.org/docs/releases.html#release-detailsVerifique la
com.android.tools.build:gradle
versión. Consulte https://developer.android.com/studio/releases/gradle-plugin#updating-gradle y https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google
Si enfrenta este error en la compilación de Flutter para Android, intente cambiar la versión de Kotlin a
ext.kotlin_version = '1.4.32'
En primer lugar, vaya a configuración y luego navegue hasta complementos. Busque el complemento de Kotlin y actualícelo.
A continuación, en los archivos gradle, vaya a build.gradle (Proyecto: YourApp). Luego, cambie el siguiente código (en buildscript) de:
ext.kotlin_version = '1.3.50'
a la última versión, como por ejemplo:
ext.kotlin_version = '1.4.32'
Para conocer la última versión, vaya a configuración y complementos, busque el complemento de Kotlin y asegúrese de que esté actualizado. La última versión está en JetBrains.
Después de seguir las instrucciones, su error se resolverá.
Se solucionó actualizando la versión del complemento Kotlin Gradle.
En el archivo build.gradle a nivel de proyecto , actualice la siguiente línea.
ext.kotlin_version = '1.6.10'
Puede encontrar la última versión del complemento Kotlin Gradle en Herramientas/Herramientas de compilación/Gradle .