Beim Synchronisieren von Gradle wird plötzlich folgende Fehlermeldung angezeigt:
WARNUNG: Die API 'varianten.getJavaCompile ()' ist veraltet und wurde durch 'varianten.getJavaCompileProvider ()' ersetzt. Es wird Ende 2019 entfernt. Weitere Informationen finden Sie unter https://d.android.com/r/tools/task-configuration-avoidance Betroffene Module: App
Ich habe das build.gradle
für das App-Modul:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
android {
compileSdkVersion 28
buildToolsVersion "28.0.2"
defaultConfig {
applicationId "..."
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "..."
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
versionNameSuffix = version_suffix
[...]
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
[...]
}
debug {
[...]
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.61"
implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation "com.android.support:preference-v7:28.0.0"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
implementation 'com.google.android.material:material:1.0.0-rc02'
[...]
}
Ich kann die App korrekt kompilieren, aber es ist ein bisschen störend, und wie ich sehe, wird Ende 2019 etwas nicht mehr funktionieren. Irgendwelche Ideen, was es ist und wie man es löst?
android
android-studio
compilation
android-gradle-plugin
google-fabric
Arnyminer Z.
quelle
quelle
Antworten:
Dieses Problem wurde jetzt mit dem Update Fabric Gradle Version 1.30.0 behoben:
Update-Version: 19. März 2019
Bitte sehen Sie diesen Link: https://docs.fabric.io/android/changelog.html#march-15-2019
Bitte aktualisieren Sie Ihre Klassenpfadabhängigkeit in Gradle auf Projektebene:
quelle
classpath 'io.fabric.tools:gradle:1.29.0'
. Was soll ich machen?Ich habe dieses Problem nach dem Update auf 3.3.0
Wenn Sie nicht die Fehlerzustände in der Gradle-Datei ausführen, ist dies ein Plugin, das immer noch nicht auf die neuere API aktualisiert wurde, die dies verursacht. Um herauszufinden, um welches Plugin es sich handelt, gehen Sie wie folgt vor (wie unter "Bessere Debug-Informationen bei Verwendung einer veralteten API" in 3.3.0-Ankündigung erläutert ):
Hoffe es hilft anderen
quelle
android.debug.obsoleteApi=true
: So lesen Sie die protokollierten Details: Gehen Sie unten zur Registerkarte "Erstellen" und klicken Sie im Fenster "Ausgabe erstellen" auf "Ansicht umschalten". Wenn Sie darauf klicken, dass die hübschen Farben verschwinden, scrollen Sie nach oben, wo es heißtWARNING: API 'variant.getAssemble()' is obsolete
. Dann darunter zeigt esREASON: Called from:
... in meinem Fall war es wegen medium.com/@xabaras/…In meinem Fall wurde es von gms services 4.3.0 verursacht. Also musste ich es ändern zu:
Ich habe dies gefunden, indem ich ausgeführt habe:
im Terminal. Gehen Sie in Android Studio zu Ansicht -> Werkzeugfenster -> Terminal.
quelle
./
vor dem Befehl hinzu, dh wenn das Terminal auf das Stammverzeichnis Ihres Android-Projekts eingestellt ist. Andernfalls müssen Sie zum Stammverzeichnis des Projekts cd.Dies ist nur eine Warnung und wird wahrscheinlich vor 2019 mit Plugin-Updates behoben. Machen Sie sich also keine Sorgen. Ich würde Ihnen empfehlen, kompatible Versionen Ihrer Plugins und Gradle zu verwenden.
Sie können Ihre Plugin-Version und Gradle-Version hier überprüfen, um eine bessere Erfahrung und Leistung zu erzielen.
https://developer.android.com/studio/releases/gradle-plugin
Versuchen Sie, die stabilen Versionen für einen reibungslosen und warnungs- / fehlerfreien Code zu verwenden.
quelle
Ich stand auch vor dem gleichen Problem. Und nachdem ich eine Weile gesucht hatte, stellte ich fest, dass die Warnung aufgrund der Verwendung der neuesten Version des
google-services
Plugins (Version 4.3.0) auftrat. Ich habe dieses Plugin übrigens für Firebase-Funktionen in meiner Anwendung verwendet. Ich habegoogle-services
lediglich mein Plugin in Buildscript in der Datei build.gradle (Project) wie folgt heruntergestuft :quelle
Ändern Sie Ihre Google Services-Version von
build.gradle
:quelle
Dies ist aus zwei Gründen eine Warnung, die von Build-Tools ausgegeben wird.
1. Eines der Plugins basiert auf Task anstelle von TaskProvider. Wir können nicht viel tun.
2. Sie haben die Verwendung von Aufgaben konfiguriert, sofern diese TaskProvider unterstützen.
Achten Sie auf die folgenden Ausschnitte und aktualisieren Sie sie.
Ebenso finden Sie Verwendungen von
'variant.getJavaCompile()'
oder'variant.javaCompile'
,'variant.getMergeResources()'
oder'variant.mergeResources'
. Ersetzen Sie wie oben.Weitere Informationen finden Sie unter Vermeidung von Aufgabenkonfigurationen
quelle
./gradlew
. Dies hat nichts mit AS zu tun, sondern mit Build-Tools. Upgrade / Downgrade aufcom.android.tools.build:gradle:3.2.0
& ausführen./gradlew
. Das wird nicht kommen.variant.generateBuildConfig.enabled
in meinem Projekt. Ich bekomme immer noch die obige Warnungvariant.generateBuildConfig.enabled
in meinem Projekt. Ich bekomme immer noch die obige WarnungDas Downgrade der Version von Gradle hat bei mir funktioniert:
quelle
1) Fügen Sie
android.debug.obsoleteApi=true
Ihrem hinzugradle.properties
. Es zeigt Ihnen, welche Module von Ihrem Warnprotokoll betroffen sind.2) Aktualisieren Sie diese veralteten Funktionen.
variant.javaCompile
zuvariant.javaCompileProvider
variant.javaCompile.destinationDir
zuvariant.javaCompileProvider.get().destinationDir
quelle
Ein Upgrade der Kotlin- Version ( Plugin und stdLib ) auf 1.3.1 löste diese Warnung in meinem Fall. Aktualisieren Sie die Kotlin-Version im gesamten Projekt, indem Sie die vorhandene Kotlin-Version durch Folgendes ersetzen:
quelle
ext.kotlin_version = '1.2.71'
.. änderte es auf die Antwort oben und es funktionierte gut! - Ich habe meine/android
und/ios
Ordner gelöscht und bin dann gelaufenflutter create .
, um die Flutter-App neu zuext.kotlin_version = '1.2.71'
build.gradle
Gehen Sie vom Klassenpfad 'com.android.tools.build:gradle:3.3.0-alpha13' zum Klassenpfad 'com.android.tools.build:gradle:3.2.0' zurück.
das hat bei mir funktioniert
quelle
Aktualisieren Sie das Fabric-Plugin auf die neueste Gradle-Datei auf Projektebene (nicht auf App-Ebene). In meinem Fall hat diese Zeile das Problem gelöst
zu
quelle
In meinem Fall
war
aktualisiert auf
sieht aus Problem ist vorerst weg
quelle
In meinem Fall musste ich das
com.google.firebase.firebase-crash
Plugin auskommentieren:Es ist ein Fehler seit Android Studio 3.3.0
quelle
oss-licenses-plugin
Gradle auf Gradle aktualisieren: 3.3.0
Die Standardaufgabe 'Zusammenbauen' gilt nur für normale Varianten. Fügen Sie auch Testvarianten hinzu.
auch Kommentar Stoff anwenden
quelle
crashlytics { manifestPath = "$buildDir/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml" }
Wenn das Plugin feststellt, dass Sie eine API verwenden, die nicht mehr unterstützt wird, kann es jetzt detailliertere Informationen bereitstellen, mit denen Sie feststellen können, wo diese API verwendet wird. Um die zusätzlichen Informationen anzuzeigen, müssen Sie Folgendes in die gradle.properties-Datei Ihres Projekts aufnehmen:
quelle
wenn ich diese Zeile entferne aus
application gradle
:Fehler wird nicht mehr angezeigt.
Referenzlink Github
quelle
Abhängigkeiten werden auf androidX aktualisiert. Wenn Sie also AndroidX-Inhalte verwenden möchten, migrieren Sie Ihr Projekt zu AndroidX.
Mit Android Studio 3.2 und höher können Sie ein vorhandenes Projekt schnell auf AndroidX migrieren, indem Sie in der Menüleiste Refactor> Auf AndroidX migrieren auswählen.
quelle
Dies hat mein Problem behoben. Alles, was ich tun musste, war, mein Google-Services-Plugin in Buildscript in der Datei build.gradle (Project) wie folgt herunterzustufen
quelle
Hier eine vorübergehende Problemumgehung: Wenn Sie Raum verwenden, aktualisieren Sie einfach auf 1.1.0 oder höher
es entfernt diese Warnung für mich.
quelle
Behalten Sie Ihr Projekt (nicht App) Build.gradle Abhängigkeiten Klassenpfad Versionscode ist neu
quelle
Dies ist eine beliebte Frage. Wenn Sie diese Methoden nicht verwenden, aktualisiert die Lösung die Bibliotheken. Bitte aktualisieren Sie Ihre Kotlin-Version und alle Ihre Abhängigkeiten wie Fabric , Protobuf usw. Wenn Sie sicher sind, dass Sie alles aktualisiert haben, fragen Sie den Autor der Bibliothek.
quelle
Das Upgrade des Protobuf-Gradle-Plugins auf Version 0.8.10 hat mein Problem gelöst. Ersetzen Sie Ihren vorhandenen Protobuf durch
quelle
Das liegt hauptsächlich an veralteten Bibliotheken. Um manuell nach neuen Updates zu suchen, sollten Sie zu navigieren
Das sollte genug sein. Eine weitere Option besteht darin, ein Gradle-Abhängigkeits-Update mit auszuführen
./gradlew dependencyUpdates
das wird einen Bericht wie diesen erzeugen:
quelle
Das Aktualisieren der Google-Dienste auf Projektebene hat
build.gradle
mein Problem gelöst.Nach dem Upgrade:
quelle
Ich hatte das gleiche Problem und es wurde gelöst, indem die Version des Kotlin Gradle Plugins in der Datei build.gradle definiert wurde.
ändere das
zu
quelle
In meinem Fall folgte ich dies . Zusammenfassung in Gradle-App-Ebene: Ändern Sie dies:
zu
quelle