28 votes

Pourquoi les "plug-ins Gradle tiers peuvent être la cause" s'affichent après la mise à jour de Gradle vers 3.1.0?

Après avoir mis à jour Gradle vers com.android.tools.build:gradle:3.1.0 , dans le journal, je vois maintenant:

Dossier E: \ WORK \ App \ car_android \ carapp \ build \ generated \ source \ kaptKotlin \ devRelease

Les plug-ins Gradle tiers peuvent être la cause

23voto

Phileo99 Points 319

Si vous recevez l'avertissement:

De la 3e partie Gradle plugins peuvent en être la cause

dans l'onglet création, il semble être un problème connu avec Android Studio v3.1.x.
Selon ce rapport, Il pourrait être lié à l'Instant App disposition, mais même retrait que de l'exécuter/Déboguer configuration ne semble pas résoudre le problème (du moins pas avec mon installation de la v3.1.1).

Merci de voter cette question, de sorte qu'il sera donné plus d'attention par le Android Studio de l'équipe et nous espérons un fixer rapidement.

2voto

Virco Points 329

Cela se produit parce que le Kapt processeur d'annotation utilise ce répertoire pour stocker Kotlin fichiers générés.

Le répertoire est un nouveau jeu de la source, de la même façon, vous pouvez diviser vos fichiers source en src/main/java et src/main/kotlin

Cependant, le Android plugin Gradle ne reconnaît pas ce répertoire en tant que source généré ensemble.

Pour la plupart, ce qui est totalement inoffensif que la plupart 3e partie sont les processeurs de la génération .Java fichiers. Kapt écrit à l' build/generated/source/kapt répertoire.

1voto

Cristofer Points 540

Il avait travaillé dans mon projet! ->

Votre construction.gradle Projet devrait ressembler à l'image ci-dessous: enter image description here

Remarque: Il pourrait être peu différent, si vous n'êtes pas à l'aide de Royaume et de certains Services de Google

enter image description here

  • Maintenant, nous allons démarrer ->Aller à vous construire.gradle App

Plate-forme de modules ciblant Android La mise à jour de l'expérimental multiplateforme projets ont introduit le support pour Android plate-forme de modules. Ces modules devraient appliquer le plugin correspondant dans le script de build Gradle et peut utiliser le code partagé à partir d'un module commun:

  1. Vous permet de copier ce à l'intérieur de votre build.gradle SUR LE HAUT de l'AJOUTER-

Kapt diagnostic emplacements A partir de maintenant, kapt, le Kotlin annotation outil de traitement, peuvent offrir des liens vers des emplacements dans l'original Kotlin mais plutôt à un code Java généré des talons comme il signale les erreurs rencontrées lors de l'annotation de traitement. Vous pouvez activer cette fonctionnalité en ajoutant ces lignes dans le script de build Gradle (construire.gradle):

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

2. MAINTENANT L'AJOUTER:

kapt {
    mapDiagnosticLocations = true
}
dataBinding {
    enabled = true
}

IntelliJ IDEA plugin améliorations Kotlin 1.2.30 apporte diverses améliorations dans le IntelliJ IDEA Kotlin plugin, y compris une amélioration des performances corrections de bugs et de nouvelles inspections et les intentions.

Pour certains projets, c'est important: Vous permet de copier ce à l'intérieur de votre build.gradle-

 allprojects {
repositories {
    jcenter()
    google()
}

Il ressemblera à l'image ci-dessous

Maintenant, nous devons ajouter les implémentations à l'intérieur de dépendances{...// } construire.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"

* *

  1. Le nettoyage de votre projet
  2. Construire
  3. Ça y est!

Plus D'Infos: Android Site :) Laissez-moi savoir si cela fonctionne! (Si cela ne fonctionne pas, je vais essayez de vous aider à trouver une meilleure façon)

1voto

A. L. Flanagan Points 561

Selon ce problème d'Android Studio , "Le problème racine avec Kapt est que le résolveur Kapt dans IDEA de JetBrains enregistre ces dossiers comme" étant dans un chemin non valide ". Il s'agit d'une mauvaise utilisation de l'API."

Depuis le 6/11/2018, un correctif a été mis en place pour vérifier ces messages et supprimer ceux concernant les chemins qui sont réellement valides.

0voto

A Mo Points 136

Je supprime deux dossiers app \ build \ généré \ source \ kaptKotlin \ debug et app \ build \ généré \ source \ kaptKotlin \ release ("debug" et "release") et j'ajoute gradle:

 kapt {
        mapDiagnosticLocations = true
    }
 

alors le projet est synchronisé sans problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X