Après la mise à jour vers Android Studio 3.1, j'ai reçu ce message d'erreur:
Le projet fonctionne bien et il s’agit principalement d’un avertissement. Ma question est donc de savoir quel est le sens de cet avertissement et comment puis-je m'en débarrasser?
Les parties pertinentes des fichiers gradle:
Ceci est le build.gradle
de mon projet
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 fichier build.gradle
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'
}
}
}
J'ai redémarré Android Studio et le problème a disparu.
Cliquez sur Fichier -> Invalider les caches/Redémarrer
Chaque fois que je modifie le fichier de classement, je dois redémarrer Android Studio ou le problème réapparaît.
Vous pouvez aussi essayer ceci:
Réarchivage des référentiels pour:
mavenCentral()
maven { url 'https://jitpack.io' }
google()
jcenter()
Effacement de ce dossier: ~/.gradle/caches de l'utilisateur et suppression du dossier-appbuild manuellement, puis nettoyage et reconstruction .
Ce qui a résolu le problème pour moi:
3.1.0
1.2.30
4.4
27.0.3
et que je devrais la changer en 27.0.3
. J'ai donc également changé le SDK cible en 27
. J'ai ajouté ceci à mon gradle.build:
kapt {
generateStubs = true
}
J'espère que ça aide
sur Android studio v3.1.2, arrive 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 ajoutez
kapt {
generateStubs = true
}
Voici quelques étapes que j'ai suivies. Dans mon cas, le problème est résolu!
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:
apply plugin: 'com.Android.application'
apply plugin: 'kotlin-platform-Android'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-kapt'
// ...
// ...
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):
kapt {
mapDiagnosticLocations = true
}
Ajoute ça:
allprojects {
repositories {
jcenter()
google()
}
}
N'oublie pas le prochain:
// 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"
Nettoyez votre projet
Construire 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'infos: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
Ce qui m'a réellement aidé, c'est d'ajouter ceci
kapt {
generateStubs = true
}
dans build.gradle
Dans mon cas, aucune des solutions ci-dessus n'a résolu mon problème. J'utilisais la version 1.2.50 de Kotlin sans aucune mention d'Instant Run, et la construction ne générait pas les classes Dagger. Je découvre donc cette question qui a résolu mon problème, apparemment. Dans mon cas, il s’agit d’un problème lié à la nouvelle version de Kotlin, j’ai donc été rétrogradé à la version 1.2.41 et j’ai bien fonctionné ..__ En passant, j’ai fait un suivi jusqu’à ce point car j’ai utilisé l’écran Basculer la vue sur la construction.
1: Sélectionnez la bascule et construisez votre projet
2: Vous allez pouvoir voir exactement ce qui s'est passé
Question Stackoverflow: Kotlin 1.2.50 demande baseFeatureInfoDir
Suivi des problèmes: https://issuetracker.google.com/issues/110198434
Essayez de supprimer Instant Run dans les paramètres et Gradle sera bon.
Cela a fonctionné pour moi.
Voici quelques étapes que j'ai suivies et cela a résolu le problème dans mon cas.
dépendances { classpath 'com.Android.tools.build:gradle:3.1.0' chemin de classe "org.jetbrains.kotlin: kotlin-gradle-plugin: $ 1.2.31" }
Projet propre.
Enfin, reconstruisez le projet.
apply plugin: 'kotlin-kapt'
ajoutez mavenCentral()
dans build.gradle comme:
allprojects {
repositories {
mavenCentral()
google()
jcenter() } }
En fait, je faisais également face à la même erreur. Ce que j’ai fait est de mettre à jour ma version de kotlin vers le dernier . Cela peut résoudre votre problème.
Ajouter une autre réponse pour ceux qui ne peut pas supprimer Instant App Provision
, car il réapparaît.
Construisez le projet manuellement: ./gradlew assembleDebug
C'est un correctif, mais cela fonctionnera (car le problème est probablement lié à Android Studio).
J'ai eu ce problème lorsque vous utilisez Realm avec Kotlin dans Android Studio.
Pour résoudre, suivez ces étapes:
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
}
Utilisez kapt
au lieu de annotationProcessor
dans les dépendances de votre application build.gradle.
Aller à Run -> Edit Configurations..
et supprimer l'option Instant App Provision
.
Exécutez cette commande dans le terminal du studio Android:
gradlew assembleDebug
C'est bon !
Remarque: Si vous voyez à nouveau le message "Les plug-in Gradle tiers peuvent en être la cause", procédez de nouveau aux étapes 3 et 4.
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. Actuellement, Android ne reconnaît pas le chemin par défaut.
Configuration à la demande avec Gradle 4.6 et supérieur: Si vous utilisez Gradle Plugin Android 3.0.x ou 3.1.x avec Gradle 4.6 et supérieur, vous devrait désactiver la configuration à la demande pour éviter certains imprévisibles erreurs de construction. (Si vous utilisez Android Gradle Plugin 3.2.0 ou version ultérieure, vous ne devez effectuer aucune action pour désactiver la configuration à la demande de
Désactivez la configuration à la demande dans votre fichier gradle.properties en tant que 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 Bêta 1 et supérieur, les options permettant d'activer configuration à la demande ont été supprimés . Veuillez lire la section des problèmes connus sous le lien ci-dessous . entrez la description du lien ici
Voici comment résoudre ce problème pour mon cas:
Tout d’abord, mettez à jour votre version du plugin Android Gradle à partir du fichier Gradile du projet, puis mettez à jour votre version Gradle à partir des propriétés de Gradle.
Enfin, mettez à jour votre version de kotlin (obligatoire) avec kotlin_version = '1.2.30' ou une version ultérieure à partir du fichier de progression de génération du projet.
Maintenant, essayez de nettoyer votre projet et de construire. Le problème devrait être résolu . Chaque fois après la construction, si vous construisez à nouveau, le problème se reproduira probablement.