Google recomienda a los usuarios que migren de kotlin-android-extensions a kotlin-parcelize .
Sin embargo, la sincronización de Gradle falla con el siguiente error:
Plugin [id: 'kotlin-parcelize'] was not found in any of the following sources: - Gradle Core Plugins (not a core plugin, please see https://docs.gradle.org/6.1.1/userguide/standard_plugins.html for available core plugins) - Plugin Repositories (plugin dependency must include a version number for this source)¿Dónde se encuentra el complemento?
En su nivel de módulo, agregue el archivo build.gradle,
plugins { ... id 'kotlin-parcelize' }En su nivel de proyecto, agregue el archivo build.gradle,
buildscript { ... repositories { google() jcenter() } dependencies { ... classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32" } }Aquí '1.4.32' es la versión del paquete Kotlin. Ahora podrá encontrar el paquete Parcelize. Además, al importar, asegúrese de importar,
'import kotlinx.parcelize.Parcelize' package.1. Make sure Gradle should be on Online mode
2. apply plugin: 'kotlin-parcelize'
3. need to upgrade your Kotlin versions 1.4.20 or above and run Gradle sync again.
dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21" }en el estudio de Android más nuevo en noviembre de 2021:
en setting.gradle agregue esta línea:
id("org.jetbrains.kotlin.plugin.parcelize") version "1.6.0-M1" y en build.gradle del módulo:
id("org.jetbrains.kotlin.plugin.parcelize")Esta es la última implementación de september 2021 :
Si está utilizando 'org.jetbrains.kotlin.android' version '1.5.20' o superior de 'org.jetbrains.kotlin.android', y no puede encontrar la etiqueta de paquetería, puede agregarla usando los complementos DSL en settings.gradle :
plugins { id "org.jetbrains.kotlin.plugin.parcelize" version "1.6.0-M1" } y luego llámelo en su aplicación build.gradle así:
plugins { id 'org.jetbrains.kotlin.plugin.parcelize' }Prueba esto
en bulid.gradle ( Project:*appname* ) agregue:
buildscript { dependencies { ... classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31" } } y en bulid.gradle ( Module:*appname* ) agregue:
plugins { ... id 'org.jetbrains.kotlin.plugin.parcelize' }Si no funcionó para usted, consulte este enlace (si hay una nueva actualización): https://plugins.gradle.org/plugin/org.jetbrains.kotlin.plugin.parcelize
kotlin-parcelize se envía con Kotlin Plugin 1.4.20
( Anuncio de lanzamiento : obsolescencia de las extensiones de Android de Kotlin)
Debe actualizar sus versiones de Kotlin y ejecutar la sincronización de Gradle nuevamente.
dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.20" }1 , actualice su versión de AndroidStudio kotlin
En el menú, seleccione Tools -> Kotlin -> Configure Kotlin Plugin Updates -> elija una versión de Kotlin -> instalar -> y reinicie AS
2 , actualice su classpath de dependencias con la nueva versión de kotlin y luego sincronice el proyecto (como la respuesta de Brown Smith)
3
buildld.gradle (:aplicación)
plugins { ... id 'kotlin-parcelize' }MiObjeto.kt
import kotlinx.parcelize.Parcelize @Parcelize class MyObject(val name: String, val age: Int) : Parcelable { }