Nach dem Update auf Android Studio 3.1 wurde folgende Fehlermeldung angezeigt:
Das Projekt funktioniert einwandfrei und dies ist meistens nur eine Warnung. Meine Frage ist also, was die Bedeutung der Warnung ist und wie ich sie loswerden kann.
Die relevanten Teile aus Gradle-Dateien:
Das ist mein Projekt 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' }
}
}
Und das ist die build.gradle
Datei meiner App :
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'
}
}
}
Build
>Rebuild Project
arbeitete von mirAntworten:
Um das Problem zu beheben, entfernen Sie
Instant App Provision
aus den "Konfigurationen ausführen" und lassen Sie nur dieGradle-Aware Make
.Ich habe AndroidStudio
3.1
, Gradle Plugin3.1.0
und Kotlin Bibliotheksversion1.2.30
.quelle
Instant App Provisions
kehrt es nach dem Löschen immer an seinen Platz zurück.Run > Edit Configurations
einmal zu. Dann gehen Sie auf ,Edit Defaults
indem Sie die Taste mit dem Schraubenschlüssel - Symbol oben klicken. Wählen SieAndroid App
und lassen Sie nurGradle-aware Make
wie zuvor. Klicken Sie auf Anwenden.Ich habe Android Studio neu gestartet und das Problem ist verschwunden.
Klicken Sie auf Datei -> Caches ungültig machen / neu starten
Jedes Mal, wenn ich die Gradle-Datei ändere, muss ich Android Studio neu starten, sonst tritt das Problem wieder auf.
Sie können dies auch versuchen:
Nachbestellte Repositorys an:
Löschen dieses Ordners: ~ / .gradle / caches des Benutzers und manuelles Löschen des App-Erstellungsordners , dann bereinigen und neu erstellen .
quelle
Was hat das Problem für mich behoben:
3.1.0
1.2.30
4.4
27.0.3
und dass ich sie ändern sollte,27.0.3
damit ich auch das Ziel-SDK ändern konnte27
Ich habe dies zu meinem gradle.build hinzugefügt:
Ich hoffe, es hilft
quelle
bei Android Studio v3.1.2 passiert Fehler:
weil dataBinding
apply plugin: 'kotlin-kapt'
so hinzufügenquelle
Hier sind einige Schritte, die ich befolgt habe. In meinem Fall ist das Problem behoben!
Plattformmodule für Android Das Update der Funktion für experimentelle Multiplattform-Projekte bietet Unterstützung für Android-Plattformmodule. Diese Module sollten das entsprechende Plugin im Gradle-Build-Skript anwenden und können den gemeinsam genutzten Code eines gemeinsamen Moduls verwenden:
Kapt-Diagnosepositionen Ab sofort kann kapt, das Kotlin-Tool zur Verarbeitung von Anmerkungen, Links zu Positionen im ursprünglichen Kotlin-Code anbieten, anstatt Java-Stubs zu generieren, da es Fehler meldet, die während der Verarbeitung von Anmerkungen auftreten. Sie können diese Funktion aktivieren, indem Sie diese Zeilen zum Gradle-Build-Skript (build.gradle) hinzufügen:
Füge das hinzu:
Vergiss das nächste nicht:
Reinigen Sie Ihr Projekt
Bauen und fertig!
Fügen Sie all dies hinzu, reinigen Sie Ihr Projekt, erstellen Sie und das war's! :) Lass es mich wissen, wenn das funktioniert! (Wenn es bei Ihnen nicht funktioniert, helfe ich Ihnen mit einer anderen Lösung)
Weitere Infos: Android Site :) Lass es mich wissen, wenn es funktioniert! (Wenn es nicht funktioniert, werde ich versuchen, Ihnen zu helfen, einen besseren Weg zu finden)
Wenn Sie eine Bewertung abgeben, erklären Sie warum
quelle
mapDiagnosticLocations = true
zurkapt
Konfiguration funktioniertWas mir tatsächlich geholfen hat, ist das Hinzufügen
in build.gradle
quelle
In meinem Fall löste keine der oben genannten Lösungen mein Problem. Ich verwendete die Kotlin-Version 1.2.50, ohne Instant Run zu erwähnen, und der Build erzeugte keine Dagger-Klassen. Daher finde ich diese Frage heraus, die mein Problem anscheinend gelöst hat In meiner Situation handelt es sich um ein Problem im Zusammenhang mit der neuen Kotlin-Version. Daher habe ich ein Downgrade auf Version 1.2.41 durchgeführt und einwandfrei funktioniert. Übrigens habe ich gerade bis zu diesem Punkt verfolgt, weil ich die Umschaltansicht auf dem Build-Bildschirm verwendet habe.
1: Wählen Sie die Umschaltansicht und erstellen Sie Ihr Projekt
2: Sie werden genau sehen können, was passiert ist
Stackoverflow-Frage: Kotlin 1.2.50 fragt nach baseFeatureInfoDir
Issue-Tracker: https://issuetracker.google.com/issues/110198434
quelle
Versuchen Sie, Instant Run aus den Einstellungen zu entfernen, und gradle kann loslegen.
Es hat bei mir funktioniert.
quelle
Hier sind einige Schritte, die ich befolgt habe und die das Problem in meinem Fall behoben haben.
Projekt reinigen.
Erstellen Sie schließlich das Projekt neu.
quelle
apply plugin: 'kotlin-kapt'
füge
mavenCentral()
in build.gradle hinzu wie:allprojects { repositories { mavenCentral() google() jcenter() } }
quelle
Hier ist ein Ansatz, wie ich dieses Problem für meinen Fall behebe:
Versuchen Sie nun, Ihr Projekt zu bereinigen und zu erstellen. Problem sollte behoben sein. Jedes Mal, wenn Sie nach dem Erstellen erneut erstellen, tritt wahrscheinlich erneut ein Problem auf. Bereinigen Sie Ihr Projekt einfach erneut und erstellen Sie es anschließend.
quelle
Dies liegt daran, dass der Kapt-Annotationsprozessor dieses Verzeichnis zum Speichern von Kotlin-generierten Dateien verwendet. Android erkennt den Pfad derzeit standardmäßig nicht.
Siehe weitere Details
quelle
Hinzufügen einer weiteren Antwort für diejenigen, die nicht entfernen konnten
Instant App Provision
, da sie immer wieder angezeigt wird.Erstellen Sie das Projekt manuell:
./gradlew assembleDebug
Es ist ein Hotfix, aber es wird funktionieren (da das Problem wahrscheinlich mit Android Studio zusammenhängt).
quelle
Ich hatte dieses Problem bei der Verwendung von Realm mit Kotlin in Android Studio.
Gehen Sie zur Lösung folgendermaßen vor:
Stellen Sie nach dem Hinzufügen von Realm zum Projekt build.gradle sicher, dass Ihre App build.gradle-Datei wie folgt aussieht:
Verwenden Sie
kapt
stattannotationProcessor
in Ihrer App build.gradle-Abhängigkeiten.Gehen Sie zu
Run -> Edit Configurations..
und entfernen Sie dieInstant App Provision
Option.Führen Sie diesen Befehl im Terminal von Android Studio aus:
Es ist in Ordnung !
Hinweis: Wenn die Meldung "Gradle-Plug-Ins von Drittanbietern sind möglicherweise die Ursache" erneut angezeigt wird, führen Sie die Schritte 3 und 4 erneut aus.
quelle
quelle
Eigentlich war ich auch mit dem gleichen Fehler konfrontiert. Ich habe meine Kotlin-Version auf den neuesten Stand gebracht . Dies kann Ihr Problem lösen.
quelle
Nun, ich fand es liegt an
apply plugin: 'kotlin-kapt'
, Wenn Sie diese Zeile in build.gradle (App) löschen, werden Sie erfolgreich erstellen ...Habe keine Ahnung warum dieses Plugin zu diesen Warnungen führt.
quelle