Les plug-ins Gradle tiers peuvent être la cause


132

Après la mise à jour vers Android Studio 3.1, j'ai reçu ce message d'erreur:

Le projet fonctionne bien et il ne s'agit principalement que d'un avertissement, donc ma question est de savoir quelle est la signification de l'avertissement et comment puis-je m'en débarrasser?

Les parties pertinentes des fichiers gradle:

C'est mon projet 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' }
    }
}

Et voici le build.gradlefichier de mon application :

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

1
selon issuetracker.google.com/issues/74537216, ce problème est résolu dans AS3.2
Angel Koh

Build> Rebuild Projecttravaillé de moi
Zohab Ali

Réponses:


143

Pour résoudre le problème, supprimez Instant App Provision les "Configurations d'exécution" et ne laissez que le fichier Gradle-Aware Make.

Run -> Edit Configurations..

Mes configurations Exécuter / Déboguer après une compilation réussie

J'ai AndroidStudio 3.1, Gradle Plugin 3.1.0et la version de la bibliothèque Kotlin 1.2.30.


5
cela fonctionne réellement, mais aucune idée de pourquoi cela se passait et comment vous êtes arrivé à cette solution.
humazed

59
et pour une raison quelconque après la suppression, Instant App Provisionsil revient toujours à sa place.
humazed

3
Cela désactive-t-il l'exécution instantanée?
Caleb_Allen

7
@Caleb_Allen non, mais personne n'utilise de toute façon la course instantanée. Ceci est pour les `` applications instantanées '', pas pour l'exécution instantanée
Tim

4
Pour tous ceux où cela revient (comme @humazed), j'ai trouvé une solution: Run > Edit Configurationsrecommencez. Ensuite, allez à Edit Defaultsen cliquant sur le bouton avec l'icône de clé en haut. Sélectionnez Android Appet ne laissez que Gradle-aware Makecomme avant. Appuyez sur appliquer.
b_yng le

17

J'ai redémarré Android Studio et le problème a disparu.

Cliquez sur Fichier -> Invalidate Caches / Restart

Chaque fois que je change le fichier gradle, je dois redémarrer Android Studio ou le problème revient.

Vous pouvez également essayer ceci:

  1. Réorganiser les référentiels pour:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
  2. Effacer ce dossier: l'utilisateur ~ / .gradle / caches et supprimer manuellement le dossier de construction de l'application , puis nettoyer et reconstruire .


Mais je ne peux toujours pas exécuter mon application car elle construira le projet avant de le lancer.
Infinite Loops

7

Ce qui a résolu le problème pour moi:

  • Changer la version du plugin gradle en 3.1.0
  • Changer la version de Kotlin en 1.2.30
  • Ensuite, le studio Android a changé le wrapper Gradle en version 4.4
  • Ensuite, le studio Android a dit que la version des outils de construction utilisée était 27.0.3et que je devais la changer en 27.0.3donc j'ai également changé le SDK cible en27
  • J'ai ajouté ceci à mon gradle.build:

    kapt {
         generateStubs = true
     }

J'espère que ça aide


5

à android studio v3.1.2, se produit une erreur:

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

parce que dataBinding utilise apply plugin: 'kotlin-kapt'donc add

kapt {
    generateStubs = true
}
  1. Changer la version du plugin Gradle en 3.1.2
  2. Changer la version de Kotlin en 1.2.30
  3. Ensuite, le studio Android a changé le wrapper Gradle vers la version 4.4
  4. Ensuite, le studio Android a dit que la version des outils de construction utilisée était 27.1.1 et que je devais la changer en 27.1.1, donc j'ai également changé le SDK cible en 27

5

Voici quelques étapes que j'ai suivies. Dans mon cas, cela a résolu le problème!

Modules de plateforme ciblant Android La mise à jour de la fonctionnalité de projets expérimentaux multiplateformes introduit la prise en charge des modules de plateforme Android. Ces modules doivent appliquer le plugin correspondant dans le script de construction Gradle et peuvent utiliser le code partagé d'un module commun:

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

Emplacements de diagnostic Kapt À partir de maintenant, kapt, l'outil de traitement des annotations Kotlin, peut offrir des liens vers des emplacements dans le code Kotlin original plutôt que des stubs Java générés car il signale les erreurs rencontrées pendant le traitement des annotations. Vous pouvez activer cette fonctionnalité en ajoutant ces lignes au script de construction Gradle (build.gradle):

kapt {
    mapDiagnosticLocations = true
}

Ajoute ça:

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

N'oubliez pas le suivant:

// 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. Nettoyez votre projet

  2. Construisez et c'est tout!

Ajoutez tout cela, nettoyez votre projet, construisez et c'est tout! :) Laissez-moi savoir si cela fonctionne! (Si cela ne fonctionne pas pour vous, je vais vous aider avec une autre solution)

Plus d'informations: Site Android :) Faites-moi savoir si cela fonctionne! (Si cela ne fonctionne pas, je vais essayer de vous aider à trouver un meilleur moyen)

Si vous donnez un vote négatif, expliquez pourquoi


1
L'ajout de la ligne mapDiagnosticLocations = trueà la kaptconfiguration fonctionne - enfin parfois au moins: /
kuhnroyal

@kuhnroyal J'apprécie vos commentaires! Bonne journée, je continue à chercher une meilleure solution
Cristofer

5

Ce qui m'a vraiment aidé, c'est d'ajouter ceci

kapt {
     generateStubs = true
}

dans build.gradle


3

Dans mon cas, aucune des solutions ci-dessus n'a résolu mon problème, j'utilisais la version 1.2.50 Kotlin sans aucune mention à Instant Run, et la construction ne générait pas les classes Dagger, donc je découvre cette question qui a résolu mon problème, apparemment , dans ma situation, c'est un problème lié à la nouvelle version de Kotlin, donc j'ai rétrogradé à la version 1.2.41 et j'ai bien fonctionné. Au fait, j'ai juste suivi ce point parce que j'ai utilisé l'écran Toggle View on Build.

1: Sélectionnez la vue Toggle et créez votre projet

Basculer la vue

2: Vous allez pouvoir voir exactement ce qui s'est passé

Erreur

Question Stackoverflow: Kotlin 1.2.50 demande baseFeatureInfoDir

Suivi des problèmes: https://issuetracker.google.com/issues/110198434


2

Essayez de supprimer l'exécution instantanée des paramètres et le gradle sera prêt.

Cela a fonctionné pour moi.


2

Voici quelques étapes que j'ai suivies et cela a résolu le problème dans mon cas.

  1. Tout d'abord, installez la version du plugin kotlin sur '1.2.31' et mettez-la à jour dans le fichier build.gradle comme ci-dessous.

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

  1. Projet propre.

  2. Enfin, reconstruisez le projet.


1
  1. retirer apply plugin: 'kotlin-kapt'
  2. ajoutez mavenCentral()dans build.gradle comme:

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

  3. Projet Sync and Clean

0

Voici une approche pour résoudre ce problème pour mon cas:

Tout d'abord, mettez à jour la version de votre plug-in android gradle à partir du fichier gradle de construction du projet, puis mettez à jour votre version gradle à partir des propriétés gradle.

Enfin, mettez à jour votre version de kotlin (obligatoire) vers kotlin_version = '1.2.30' ou version ultérieure à partir du fichier gradle de construction du projet.

Essayez maintenant de nettoyer votre projet et de créer. Le problème doit être résolu. Chaque fois après la génération, si vous générez à nouveau, le problème se reproduira probablement.Nettoyez simplement votre projet à nouveau, puis générez.


0

Cela se produit car le processeur d'annotations Kapt utilise ce répertoire pour stocker les fichiers générés par Kotlin. Android ne reconnaît actuellement pas le chemin par défaut.

Voir plus de détails


0

Ajout d'une autre réponse pour ceux qui n'ont pas pu supprimerInstant App Provision , car elle ne cesse de réapparaître.

Générez le projet manuellement: ./gradlew assembleDebug

C'est un correctif, mais cela fonctionnera (car le problème est probablement lié à Android Studio).


0

J'ai eu ce problème lors de l'utilisation de Realm avec kotlin dans Android Studio.
Pour résoudre, suivez ces étapes:

  1. Après avoir ajouté Realm au projet build.gradle, assurez-vous que le fichier build.gradle de votre application ressemble à ceci:

    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. Utilisez kaptplutôt que annotationProcessordans les dépendances build.gradle de votre application.

  3. Accédez à l' option Run -> Edit Configurations..et supprimez-la Instant App Provision.

  4. Exécutez cette commande dans le terminal du studio Android:

    gradlew assembleDebug  
  5. C'est bon !

Remarque: Si vous voyez à nouveau le message «Les plug-ins Gradle tiers peuvent en être la cause», recommencez les étapes 3 et 4.


0

Configuration à la demande avec Gradle 4.6 et supérieur: Si vous utilisez Android Gradle Plugin 3.0.x ou 3.1.x avec Gradle 4.6 et supérieur, vous devez désactiver la configuration à la demande pour éviter certaines erreurs de construction imprévisibles. (Si vous utilisez Android Gradle Plugin 3.2.0 ou supérieur, vous n'avez aucune action à effectuer pour désactiver la configuration à la demande.)

Désactivez la configuration à la demande dans votre fichier gradle.properties comme indiqué ci-dessous:

org.gradle.configureondemand = false Pour désactiver la configuration à la demande dans les paramètres d'Android Studio, choisissez Fichier> Paramètres (Android Studio

Préférences sur Mac), sélectionnez la catégorie Compilateur dans le volet gauche et décochez la case Configurer à la demande.

Dans Android Studio 3.2 Beta 1 et supérieur, les options d'activation de la configuration à la demande ont été supprimées. Veuillez lire la section des problèmes connus à partir du lien ci-dessous. entrez la description du lien ici


0

En fait, j'étais également confronté à la même erreur. Ce que j'ai fait, c'est mettre à jour ma version kotlin à la dernière . Cela peut résoudre votre problème.


-4

Eh bien, j'ai trouvé que c'est à cause de apply plugin: 'kotlin-kapt', si vous supprimez cette ligne dans build.gradle (application), vous construirez avec succès ...

Je n'ai aucune idée de la raison pour laquelle ce plugin entraîne ces avertissements.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.