web-dev-qa-db-fra.com

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

Après la mise à jour de Gradle vers com.Android.tools.build:gradle:3.1.0, je vois maintenant dans le journal:

Dossier E:\WORK\App\car_Android\carapp\build\généré\source\kaptKotlin\devRelease

Des plug-ins Gradle tiers peuvent en être la cause

26
azsoftco

Si vous recevez l'avertissement: 

Des plug-ins Gradle tiers peuvent en être la cause

dans l'onglet Construction, il semble s'agir d'un problème connu avec Android Studio v3.1.x.
Selon this report, il pourrait être lié à la fourniture Instant App, mais le fait même de le supprimer de la configuration d'exécution/de débogage ne semble pas résoudre le problème (du moins pas avec mon installation de AS v3.1.1 ).

Veuillez voter ce problème afin que l’équipe d’Android Studio accorde plus d’attention et, espérons-le, à un correctif opportun.

22
Phileo99

Cela est dû au fait que le processeur d'annotation Kapt utilise ce répertoire pour stocker les fichiers générés par Kotlin. 

Le répertoire est un nouvel ensemble source généré, de la même manière que vous pouvez diviser vos fichiers source en src/main/Java et src/main/kotlin.

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

Pour la plupart, cela est totalement inoffensif, car la plupart des processeurs tiers génèrent des fichiers .Java. Kapt les écrit dans le répertoire build/generated/source/kapt.

1
Virco

Cela avait fonctionné dans mon projet! ->

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

Remarque: cela pourrait être légèrement différent si vous n'utilisez pas le royaume et certains services Google.

 enter image description here

  • Maintenant, commençons -> Allez à votre application build.gradle

Modules de plate-forme ciblant Android La mise à jour de la fonctionnalité de projets expérimentaux multiplateformes introduit la prise en charge des modules de plate-forme Android. Ces modules doivent appliquer le plug-in correspondant dans le script de génération Gradle et peuvent utiliser le code partagé d'un module commun:

  1. Vous allez copier ceci à l'intérieur de votre build.gradle, en haut, ajoutez le - 

Emplacements de diagnostic Kapt Désormais, kapt, l'outil de traitement des annotations Kotlin, peut proposer des liens vers des emplacements dans le code Kotlin d'origine plutôt que des stubs Java générés, car il signale les erreurs rencontrées lors du traitement des annotations. Vous pouvez activer cette fonctionnalité en ajoutant ces lignes au script de génération de Gradle (build.gradle):

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

2. AJOUTEZ-LE MAINTENANT:

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

Améliorations du plug-in IntelliJ IDEA Kotlin 1.2.30 apporte diverses améliorations au plug-in IntelliJ IDEA Kotlin, notamment des améliorations de performances, des corrections de bugs ainsi que de nouvelles inspections et intentions. 

Pour certains projets, c'est important: vous allez copier ceci à l'intérieur de votre build.gradle-

 allprojects {
repositories {
    jcenter()
    google()
}

_ {Il ressemblera à l'image ci-dessous

Nous devons maintenant ajouter les implémentations dans dependencies { ... // } 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"

* *

  1. Nettoyez votre projet
  2. Construit le
  3. C'est tout!

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

1
Cristofer

Je supprime deux dossiers app\build\génération\source\kaptKotlin\debug et app\build\génération\source\kaptKotlin\release ("debug" et "release") et addin gradle:

kapt {
        mapDiagnosticLocations = true
    }

alors le projet est synchronisé sans problème.

0
A Mo

Selon ce problème Android Studio , "Le problème fondamental de Kapt est que le résolveur Kapt dans IDEA de JetBrains enregistre ces dossiers comme" se trouvant sur un chemin non valide ". Il s’agit d’une utilisation abusive de l’API. "

Depuis le 11/06/2018, un correctif est en place pour vérifier ces messages et en supprimer ceux concernant les chemins réellement valides.

0
A. L. Flanagan