Los complementos de Gradle de terceros pueden ser la causa

132

Después de actualizar a Android Studio 3.1, recibí este mensaje de error:

El proyecto funciona bien y esto es principalmente solo una advertencia, así que mi pregunta es cuál es el significado de la advertencia y cómo puedo deshacerme de ella.

Las partes relevantes de los archivos gradle:

Este es mi proyecto build.gradle

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }

    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
    }
}

Y este es el build.gradlearchivo de mi aplicación :

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
humillado
fuente
1
De acuerdo con issuetracker.google.com/issues/74537216, este problema se solucionó en AS3.2
Angel Koh
Build> Rebuild Projecttrabajó de mí
Zohab Ali

Respuestas:

143

Para resolver el problema, elimine Instant App Provision de "Ejecutar configuraciones" y deje solo el Gradle-Aware Make.

Run -> Edit Configurations..

Mis configuraciones de ejecución / depuración después de una compilación exitosa

Tengo 3.1AndroidStudio, Gradle Plugin 3.1.0y la versión de la biblioteca Kotlin 1.2.30.

Angel Kjoseski
fuente
55
esto realmente funciona, pero alguna idea de por qué estaba sucediendo y cómo llegó a esta solución.
Humazed
59
y por alguna razón después de eliminarlo Instant App Provisions, siempre regresa a su lugar.
Humazed
3
¿Esto deshabilita la ejecución instantánea?
Caleb_Allen
77
@Caleb_Allen no, pero nadie usa la ejecución instantánea de todos modos. Esto es para 'aplicaciones instantáneas', no para ejecución instantánea
Tim
44
Para cualquier persona en la que esto sigue volviendo (como @humazed), encontré una solución: primero ve a Run > Edit Configurationsnuevamente. Luego vaya Edit Defaultshaciendo clic en el botón con el icono de llave inglesa en la parte superior. Seleccione Android Appy deje solo Gradle-aware Makecomo antes. Hit aplicar.
b_yng
17

Reinicié Android Studio y el problema desapareció.

Haga clic en Archivo -> Invalidar cachés / reiniciar

Cada vez que cambio el archivo gradle, debo reiniciar Android Studio o el problema vuelve.

También puedes probar esto:

  1. Repositorios reordenados a:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
    
  2. Borrar esta carpeta: ~ / .gradle / caches del usuario y eliminar la carpeta de compilación de la aplicación manualmente, luego limpiar y reconstruir .

SpkingR
fuente
Pero todavía no puedo ejecutar mi aplicación, ya que construirá el proyecto antes de lanzarlo.
Infinite Loops
7

Lo que solucionó el problema para mí:

  • Cambiar la versión del complemento gradle a 3.1.0
  • Cambie la versión de Kotlin a 1.2.30
  • Luego, Android Studio cambió el gradle wrapper a la versión 4.4
  • Luego, Android Studio decía que la versión de herramientas de compilación utilizada era 27.0.3y que debería cambiarla por 27.0.3lo que también cambié el SDK de destino a27
  • Agregué esto a mi gradle.build:

    kapt {
         generateStubs = true
     }
    

Espero que ayude

Júlia Garrigós
fuente
5

en android studio v3.1.2, suceda Error:

Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\debug
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\release
3rd-party Gradle plug-ins may be the cause

porque el uso de dataBinding apply plugin: 'kotlin-kapt'agrega

kapt {
    generateStubs = true
}
  1. Cambiar la versión del complemento gradle a 3.1.2
  2. Cambie la versión de Kotlin a 1.2.30
  3. Luego, Android Studio cambió el gradle wrapper a la versión 4.4
  4. Luego, Android Studio decía que la versión de herramientas de compilación utilizada era 27.1.1 y que debería cambiarla a 27.1.1, así que también cambié el SDK de destino a 27
任 非凡
fuente
5

Aquí hay algunos pasos que he seguido. ¡En mi caso se solucionó el problema!

Módulos de plataforma dirigidos a Android La actualización de la función de proyectos multiplataforma experimentales introduce soporte para módulos de plataforma Android. Estos módulos deben aplicar el complemento correspondiente en el script de compilación de Gradle y pueden usar el código compartido de un módulo común:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
// ...
// ...

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 la anotación. Puede habilitar esta característica agregando estas líneas al script de compilación de Gradle (build.gradle):

kapt {
    mapDiagnosticLocations = true
}

Agrega esto:

allprojects {
        repositories {
            jcenter()
            google()
        }
    }

No olvides lo siguiente:

// 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"
  1. Limpia tu proyecto

  2. ¡Construye y ya está!

Agregue todo esto, limpie su proyecto, construya y ¡listo! :) ¡Hazme saber si esto funciona! (Si no te funciona, te ayudaré con otra solución)

Más información: Sitio de Android :) ¡Avíseme si funciona! (Si no funciona, intentaré ayudarte a encontrar una mejor manera)

Si das un downVote explica por qué

Cristofer
fuente
1
Agregar la línea mapDiagnosticLocations = truea la kaptconfiguración funciona, bueno a veces al menos: /
kuhnroyal
@kuhnroyal ¡Aprecio tus comentarios! Que tenga un buen día, sigo buscando una solución mejor
Cristofer
5

Lo que realmente me ayudó es agregar esto

kapt {
     generateStubs = true
}

en build.gradle

Andrey Aleev
fuente
3

En mi caso, ninguna de las soluciones anteriores resolvió mi problema, estaba usando la versión 1.2.50 Kotlin sin mencionar a Instant Run, y la compilación no estaba generando las clases Dagger, así que descubrí esta pregunta que resolvió mi problema, aparentemente , en mi situación, es un problema relacionado con la nueva versión de Kotlin, así que bajé a la versión 1.2.41 y funcioné bien. Por cierto, acabo de rastrear hasta ese punto porque utilicé la Vista de alternancia en la pantalla de compilación.

1: Seleccione la Vista de alternancia y cree su proyecto

Cambiar vista

2: Podrás ver exactamente qué sucedió

Error

Pregunta de Stackoverflow : Kotlin 1.2.50 pide baseFeatureInfoDir

Rastreador de problemas: https://issuetracker.google.com/issues/110198434

Pedro Okawa
fuente
2

Intente eliminar la ejecución instantánea de la configuración y gradle estará listo.

A mí me funcionó.

Munish Thakur
fuente
2

Aquí hay algunos pasos que he seguido y se ha solucionado el problema en mi caso.

  1. En primer lugar, instale la versión del complemento kotlin en '1.2.31' y actualícela en el archivo build.gradle como se muestra a continuación.

dependencias {classpath 'com.android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ 1.2.31"}

  1. Proyecto limpio.

  2. Finalmente reconstruir el proyecto.

Manish Karena
fuente
1
  1. eliminar apply plugin: 'kotlin-kapt'
  2. agregar mavenCentral()en build.gradle como:

    allprojects { repositories { mavenCentral() google() jcenter() } }

  3. Proyecto de sincronización y limpieza
Dan Alboteanu
fuente
0

Aquí está el enfoque para solucionar este problema en mi caso:

En primer lugar, actualice su versión del complemento de gradle de Android desde el archivo gradle de compilación del proyecto y luego actualice su versión de gradle desde las propiedades de gradle.

Finalmente, actualice su versión de kotlin (obligatoria) a kotlin_version = '1.2.30' o posterior desde el archivo gradle de compilación del proyecto.

Ahora intenta limpiar tu proyecto y compilar. El problema debe resolverse. Cada vez después de la compilación, si vuelve a compilar, es probable que el problema vuelva a ocurrir, así que simplemente limpie su proyecto nuevamente y luego compílelo.

0xAliHn
fuente
0

Esto sucede porque el procesador de anotaciones Kapt usa este directorio para almacenar los archivos generados por Kotlin. Android actualmente no reconoce la ruta de forma predeterminada.

Ver más detalles

Virco
fuente
0

Agregar otra respuesta para aquellos que no pudieron eliminarInstant App Provision , porque sigue reapareciendo.

Construya el proyecto manualmente: ./gradlew assembleDebug

Es una revisión, pero funcionará (porque el problema probablemente esté relacionado con Android Studio).

mrek
fuente
0

Tuve este problema al usar Realm con Kotlin en Android Studio.
Para resolver, siga estos pasos:

  1. Después de agregar Realm al proyecto build.gradle, asegúrese de que el archivo build.gradle de su aplicación sea así:

    apply plugin: 'com.android.application'  
    apply plugin: 'kotlin-android'  
    apply plugin: 'kotlin-android-extensions'  
    apply plugin: 'kotlin-kapt'  
    apply plugin: 'realm-android'  
    .  
    .  
    .  
    androidExtensions {  
    experimental = true
    }
  2. Use en kaptlugar de annotationProcessoren su aplicación las dependencias build.gradle.

  3. Vaya a Run -> Edit Configurations..y elimine la Instant App Provisionopción.

  4. Ejecute este comando en la terminal de Android Studio:

    gradlew assembleDebug  
  5. Está bien !

Nota: Si vuelve a ver el mensaje "Los complementos de Gradle de terceros pueden ser la causa", repita los pasos 3 y 4.

Mehdi I.
fuente
0

Configuración bajo demanda con Gradle 4.6 y superior: si está utilizando Android Gradle Plugin 3.0.xo 3.1.x con Gradle 4.6 y superior, debe desactivar la configuración bajo demanda para evitar algunos errores de compilación impredecibles. (Si está utilizando Android Gradle Plugin 3.2.0 o superior, no necesita realizar ninguna acción para deshabilitar la configuración a pedido).

Deshabilite la configuración a pedido en su archivo gradle.properties como se muestra a continuación:

org.gradle.configureondemand = false Para deshabilitar la configuración bajo demanda en la configuración de Android Studio, elija Archivo> Configuración (Android Studio

Preferencias en Mac), seleccione la categoría Compilador en el panel izquierdo y desactive la casilla de verificación Configurar bajo demanda.

En Android Studio 3.2 Beta 1 y superior, se han eliminado las opciones para habilitar la configuración a pedido. Lea la sección de problemas conocidos del siguiente enlace. ingrese la descripción del enlace aquí

Desarrollador de Android
fuente
0

En realidad, también estaba enfrentando el mismo error. Lo que hice fue actualizar mi versión de Kotlin a la última . Esto puede resolver su problema.

Maulik Togadiya
fuente
-4

Bueno, descubrí que se debe a que apply plugin: 'kotlin-kapt', si eliminas esta línea en build.gradle (aplicación), entonces construirás con éxito ...

No tengo idea de por qué este complemento genera estas advertencias.

Newamber
fuente