gradle - supports - kotlin-stdlib-jre7 is deprecated. please use kotlin-stdlib-jdk7 instead
¿Por qué se muestra "la causa pueden ser los complementos de Gradle de terceros" después de actualizar Gradle a 3.1.0? (5)
Después de actualizar Gradle a com.android.tools.build:gradle:3.1.0
, en el registro ahora veo:
Carpeta E: / WORK / App / car_android / carapp / build / genera / source / kaptKotlin / devRelease
Los complementos de Gradle de terceros pueden ser la causa
¡Había funcionado en mi proyecto! ->
Su proyecto build.gradle debería verse como la imagen a continuación:
Nota: podría ser un poco diferente si no está utilizando Realm y algunos Servicios de Google
- Ahora, comencemos -> Ve a tu aplicación build.gradle
Módulos de plataforma dirigidos a Android La actualización de la función de proyectos multiplataforma experimental introduce soporte para módulos de plataforma Android. Estos módulos deben aplicar el complemento correspondiente en el script de construcción de Gradle y pueden usar el código compartido desde un módulo común:
- Copiarás esto dentro de tu compilación.
Ubicaciones de diagnóstico de Kapt A partir de ahora, kapt, la herramienta de procesamiento de anotaciones de Kotlin, puede ofrecer enlaces a ubicaciones en el código de Kotlin original en lugar de los apéndices Java generados, ya que informa los errores encontrados durante el procesamiento de anotaciones. Puede habilitar esta función agregando estas líneas al script de compilación de Gradle (build.gradle):
apply plugin: ''com.android.application''
apply plugin: ''kotlin-platform-android''
apply plugin: ''kotlin-android''
apply plugin: ''kotlin-kapt''
// ...
2. AHORA AÑADELO:
kapt {
mapDiagnosticLocations = true
}
dataBinding {
enabled = true
}
Mejoras en el complemento IntelliJ IDEA Kotlin 1.2.30 trae varias mejoras en el complemento IntelliJ IDEA Kotlin, que incluyen mejoras de rendimiento, corrección de errores y nuevas inspecciones e intenciones.
Para algunos proyectos, esto es importante : lo copiarás dentro de tu build.gradle-
allprojects {
repositories {
jcenter()
google()
}
Se verá como la imagen de abajo.
Ahora necesitamos agregar las implementaciones dentro de las dependencias { ... // } build.gradle:
// Architecture Component - Room
implementation "android.arch.persistence.room:runtime:1.1.0-beta1"
kapt "android.arch.persistence.room:compiler:1.1.0-beta1"
// Lifecyles, LiveData and ViewModel
kapt ''com.android.databinding:compiler:3.1.0''
// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:1.1.1"
// alternatively, just ViewModel
implementation "android.arch.lifecycle:viewmodel:1.1.1"
// alternatively, just LiveData
implementation "android.arch.lifecycle:livedata:1.1.1"
kapt "android.arch.lifecycle:compiler:1.1.1"
// Room (use 1.1.0-beta1 for latest beta)
implementation "android.arch.persistence.room:runtime:1.0.0"
kapt "android.arch.persistence.room:compiler:1.0.0"
// Paging
implementation "android.arch.paging:runtime:1.0.0-alpha7"
// Test helpers for LiveData
testImplementation "android.arch.core:core-testing:1.1.1"
// Test helpers for Room
testImplementation "android.arch.persistence.room:testing:1.0.0"
* *
- Limpia tu proyecto
- Constrúyelo
- ¡Eso es!
Más información: Sitio de Android :) ¡Avísame si funciona! (Si no funciona, intentaré ayudarte a encontrar una mejor manera)
Borro dos carpetas app / build / genera / source / kaptKotlin / debug y app / build / genera / source / kaptKotlin / release ("debug" y "release") y agrego en gradle:
kapt { mapDiagnosticLocations = true }
Entonces el proyecto se sincroniza sin problema.
De acuerdo con este this , "el problema raíz de Kapt es que el programa de resolución de Kapt en IDEA de JetBrains registra esas carpetas como ''estar en una ruta no válida''. Esto es un uso incorrecto de la API".
A partir del 6/11/2018, hay una solución para verificar dos veces esos mensajes y suprimir los mensajes que son realmente válidos.
Esto sucede porque el procesador de anotación Kapt usa este directorio para almacenar los archivos generados por Kotlin.
El directorio es un nuevo conjunto de fuentes generado, de la misma manera en que puede dividir sus archivos de origen en src/main/java
y src/main/kotlin
Sin embargo, el complemento Gradle de Android no reconoce este directorio como un conjunto de fuentes generado.
En su mayor parte, esto es completamente inofensivo ya que la mayoría de los procesadores de terceros están generando archivos .Java
. Kapt los escribe en el directorio build/generated/source/kapt
.
Si está recibiendo la advertencia:
Los complementos de Gradle de terceros pueden ser la causa
en la pestaña de compilación, parece ser un problema conocido con Android Studio v3.1.x.
Según this informe, puede estar relacionado con la provisión de la aplicación instantánea, pero incluso eliminarlo de la configuración de ejecución / depuración no parece resolver el problema (al menos no con mi instalación de AS v3.1.1).
Por favor vote sobre this tema para que el equipo de Android Studio le preste más atención y, con suerte, una solución oportuna.