In diesem Build wurden veraltete Gradle-Funktionen verwendet, wodurch es mit Gradle 5.0 nicht kompatibel ist
Lesezeit: 6 Minuten
Philipp Buhaievskiy
Ich habe einen Gradle FAILURE:
..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."
Fallschilderung:
An die Projekt-Codebasis die nächsten Bibliotheken angehängt:
APP/build.gradle
//(Required) Writing and executing Unit Tests on the JUnit Platform
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
// (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
// (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"
testImplementation "io.mockk:mockk:1.8.5"
Aktualisiert die gradle-wrapper.properties
distributionUrl=https….gradle-4.4-alle.zip zu 4.7-alle
nach all dem war gradle erfolg aufgebaut
erstellte die Test-CALS
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class TestClass {
@Test
internal fun testName() {
Assert.assertEquals(2, 1 + 1)
}
}
lief den Test und bekam die FAILURE-Meldung.
führte den Gradle-Build mit einem Befehlszeilenargument aus ./gradlew --warning-mode=all um zu sehen, was genau die veralteten Funktionen sind.
Infolgedessen konnte ich die App nicht erstellen und habe diese FAILURE: -Meldung erhalten.
Das ist kein Versagen. Die App wird trotzdem kompiliert, oder?
– EpicPandaForce
31. Juli 2018 um 10:01 Uhr
Die App wird mit derselben Fehlermeldung kompiliert. 🙁
– Philipp Buhaievskiy
31. Juli 2018 um 10:21 Uhr
Das ist kein Versagen. Es wäre ein Fehler, wenn die App nicht kompiliert würde. Das ist bestenfalls a Warnung.
– EpicPandaForce
31. Juli 2018 um 10:35 Uhr
@ EpicPandaForce leider IST das wie gesagt eine Fehlermeldung. Die Frage bezieht sich nicht darauf, wie die Nachricht zu interpretieren ist, aber trotzdem meine Wertschätzung für Ihre Wirkung.
– Philipp Buhaievskiy
31. Juli 2018 um 11:23 Uhr
Versuchen Sie diese Lösung. Fügen Sie einfach etwas Code hinzu. stackoverflow.com/questions/54276381/…
– Henrik Segercrantz
25. Januar um 11:17 Uhr
Hotkey
Führen Sie den Gradle-Build mit einem Befehlszeilenargument aus --warning-mode=all um zu sehen, was genau die veralteten Funktionen sind.
Sie erhalten eine detaillierte Beschreibung der gefundenen Probleme mit Links zu den Gradle-Dokumenten für Anweisungen zur Behebung Ihres Builds.
Hinzufügen --stacktrace Darüber hinaus können Sie auch feststellen, woher die Warnung kommt, wenn sie durch veralteten Code in einem der Plugins und nicht durch Ihr Build-Skript ausgelöst wird.
Beim Laufen react-native run-android --warning-mode all Ich bekomme error: unknown option --warning-mode'
– Ren
13. Mai 2019 um 17:03 Uhr
Versuchen Sie es mit Laufen gradle build --warning-mode=all
– Jordan Daniels
26. Mai 2019 um 23:12 Uhr
@Led, die Verfallswarnungen können aus zahlreichen Gründen auftreten, von veralteten Funktionen, die im Build-Skript verwendet werden, bis hin zu Gradle-Plugins von Drittanbietern, die veraltet sind oder fälschlicherweise die veraltete API aufrufen. Diese Antwort bietet eine Möglichkeit, herauszufinden, was genau Verfallswarnungen verursacht. Nachdem Sie dies gelernt haben, können Sie nach Lösungen für ein spezifischeres Problem suchen.
– Hotkey
10. März 2021 um 10:09 Uhr
@JordanDaniels Wo soll ich diesen Befehl im Android Studio Terminal hinzufügen? Wenn ich dort schreibe, bekomme ich: ‘gradle’ wird nicht als interner oder externer Befehl, lauffähiges Programm oder Batch-Datei erkannt.
– Hassa
8. August 2021 um 7:50 Uhr
Verwenden npx react-native run-android -- --warning-mode=all für React-Native
– Lakshit Nagar
22. August 2021 um 5:34 Uhr
Probier diese
cd android && ./gradlew clean && ./gradlew :app:bundleRelease
Danke, können Sie bitte erklären, warum diese ./gradlew :app:bundleRelease funktioniert und diese ./gradlew bundleRelease nicht.
– Atikur Rahman Sabuj
19. Mai 2020 um 9:24 Uhr
Bei meinem Cordova-9.0-Projekt hat es für mich perfekt funktioniert: D
– Minifreak
2. September 2020 um 6:35 Uhr
@AtikurRahmanSabuj Es hängt davon ab, wie die Datei ./gradlew geschrieben wurde. Da das Standardmodul in Android “App” ist, kann die Android-App mehrere Module haben. Auch ./gradlew only sollte nach der Reinigung funktionieren. Um alle Aufgaben im Gradlew zu sehen, führen Sie „./gradlew Tasks“ aus, das Ihnen die verfügbaren Aufgaben im Gradlew mitteilt.
– Amr Ashraf
23. November 2020 um 12:41 Uhr
Bei Apache Cordova und Android 9 kann der Fehler durch Aktivieren von AndroidX behoben werden. Informationen zum Aktivieren finden Sie unter: cordova.apache.org/announcements/2020/06/29/…
– FC
31. Dezember 2020 um 5:20 Uhr
Der folgende Prozess hat in meinem Fall funktioniert. Überprüfen Sie zuerst die Gradle-Version:
Dann geh zu app/build.gradle und ändern classpath 'com.android.tools.build:gradle:<plugin_version>
Sie ersparen mir nur 3 Tage Kopfschmerzen, um herauszufinden, wie ich das beheben kann. Tausend Dank.
– cdaiga
11. Oktober 2021 um 8:17 Uhr
für meinen Fall Gradle 7.2 welches Plugin 7.0 aber es funktioniert nicht.
– Phok Chanrithisak
26. Januar um 3:58
Ich bekam diesen Fehler. Es stellte sich heraus, dass es nur passierte, als ich die RN-Caches vollständig bereinigte (ziemlich aufwändiger Prozess) und dann einen Release-Build erstellte.
Wenn ich die Caches bereinigt, einen Debug-Build und dann einen Release-Build erstellt habe, hat alles funktioniert. Etwas besorgniserregend, aber funktioniert.
Mein Projekt war mit Gradle 8.0 nicht kompatibel. Folgendes hat bei mir funktioniert:
Zuerst habe ich diese Codezeile im Android Studio-Terminal geschrieben:
./gradlew build --warning-mode all
Wenn Sie das tun, wird Ihnen im Logcat angezeigt, was in Ihrem Projekt als veraltet oder als Problem erkannt wurde, bei mir war es das jcenter() Repository, das in my entfernt werden musste settings.gradle Datei und ich musste auch aktualisieren classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21" zu classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30" in meinem build.gradle Projektdatei.
Nachdem ich diese Dinge getan hatte, wurde mein Projekt perfekt erstellt und auf meinem Emulator installiert
Ich habe bearbeitet settings.gradle und jcenter entfernt und die Warnung verschwand.
– Benutzer2959589
6. Januar um 7:42
Ich bin Neuling und wusste überhaupt nicht, wie ich den Vorschlag ausführen soll, den Warnmodus zu verwenden. Als ich Ihre Antwort zuerst las, blieb ich hängen, aber ich las und sah am Anfang, was Sie im Android Studio-Terminal sagten. Ich habe es versucht und die gleiche Ablehnung von jcenter() erhalten. Ich entfernte und die Warnung verschwand. WICHTIG: Danach müssen Sie das App-Projekt erneut mit der Gradle-Datei synchronisieren, da die App sonst nicht auf dem Emulator oder dem physischen Gerät installiert wird.
– wocmultimedia
17. Februar um 18:30 Uhr
Mumit
in meinem Fall habe ich die aktualisiert build.gradle Datei und machen Sie die classpath auf neueste Version von 3.5.2 zu 3.6.3
Ich habe bearbeitet settings.gradle und jcenter entfernt und die Warnung verschwand.
– Benutzer2959589
6. Januar um 7:42
Ich bin Neuling und wusste überhaupt nicht, wie ich den Vorschlag ausführen soll, den Warnmodus zu verwenden. Als ich Ihre Antwort zuerst las, blieb ich hängen, aber ich las und sah am Anfang, was Sie im Android Studio-Terminal sagten. Ich habe es versucht und die gleiche Ablehnung von jcenter() erhalten. Ich entfernte und die Warnung verschwand. WICHTIG: Danach müssen Sie das App-Projekt erneut mit der Gradle-Datei synchronisieren, da die App sonst nicht auf dem Emulator oder dem physischen Gerät installiert wird.
– wocmultimedia
17. Februar um 18:30 Uhr
Begeisterter Programmierer
Wichtig – Antworten funktionieren nur für REACT-NATIVE VS CODE Terminal
In VisualStudio-Code müssen Sie wie unten ausgeführt werden, dann wird diese Warnung weggelassen.
React-native run-android warning-mode=all
Wenn Sie unten laufen, erhalten Sie den Fehler im Terminal.
8685200cookie-checkIn diesem Build wurden veraltete Gradle-Funktionen verwendet, wodurch es mit Gradle 5.0 nicht kompatibel istyes
Das ist kein Versagen. Die App wird trotzdem kompiliert, oder?
– EpicPandaForce
31. Juli 2018 um 10:01 Uhr
Die App wird mit derselben Fehlermeldung kompiliert. 🙁
– Philipp Buhaievskiy
31. Juli 2018 um 10:21 Uhr
Das ist kein Versagen. Es wäre ein Fehler, wenn die App nicht kompiliert würde. Das ist bestenfalls a Warnung.
– EpicPandaForce
31. Juli 2018 um 10:35 Uhr
@ EpicPandaForce leider IST das wie gesagt eine Fehlermeldung. Die Frage bezieht sich nicht darauf, wie die Nachricht zu interpretieren ist, aber trotzdem meine Wertschätzung für Ihre Wirkung.
– Philipp Buhaievskiy
31. Juli 2018 um 11:23 Uhr
Versuchen Sie diese Lösung. Fügen Sie einfach etwas Code hinzu. stackoverflow.com/questions/54276381/…
– Henrik Segercrantz
25. Januar um 11:17 Uhr