Mam stopień AWARIA:
..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."
Opis przypadku:
- Dołączone do kodu źródłowego projektu następne biblioteki:
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"
Zaktualizowano gradle-wrapper.properties
distributionUrl = https .... gradle- 4.4-all .zip to 4.7-all
po tym wszystkim zbudowano sukces
stworzyli testy
@TestInstance(TestInstance.Lifecycle.PER_CLASS) class TestClass { @Test internal fun testName() { Assert.assertEquals(2, 1 + 1) } }
uruchomił kompilację Gradle z argumentem wiersza poleceń,
./gradlew --warning-mode=all
aby zobaczyć, jakie dokładnie są przestarzałe funkcje.
W rezultacie nie mogłem zbudować aplikacji i otrzymałem komunikat FAILURE:.
Odpowiedzi:
Uruchom kompilację Gradle z argumentem wiersza poleceń,
--warning-mode=all
aby zobaczyć, jakie dokładnie są przestarzałe funkcje.Zawiera szczegółowy opis znalezionych problemów z łączami do dokumentów Gradle, w których można znaleźć instrukcje naprawiania kompilacji.
Dodając
--stacktrace
do tego, będziesz mógł również wskazać, skąd pochodzi ostrzeżenie, jeśli jest wyzwalane przez nieaktualny kod w jednej z wtyczek, a nie przez skrypt kompilacji.źródło
react-native run-android --warning-mode all
dostajęerror: unknown option --warning-mode'
gradle build --warning-mode=all
Spróbuj tego
źródło
Otrzymałem ten błąd. Okazuje się, że stało się to tylko wtedy, gdy całkowicie wyczyściłem pamięci podręczne RN (dość skomplikowany proces), a następnie utworzyłem kompilację wydania.
Jeśli wyczyściłem pamięci podręczne, utworzyłem kompilację debugowania, a następnie kompilację wydania, wszystko działało. Trochę niepokojące, ale działa.
Uwaga: moje polecenie czyszczenia to ...
rm -r android/build ; rm -r android/app/src/release/res ; rm -r android/app/build/intermediates ; watchman watch-del-all ; rm -rf $TMPDIR/react-* ; npm start -- --reset-cache
źródło
w moim przypadku zaktualizowałem
build.gradle
plik i stworzyłemclasspath
najnowszą wersję od3.5.2
do3.6.3
dependencies { classpath("com.android.tools.build:gradle:3.6.3") }
źródło
Zaktualizuj zależności innych firm. na przykład zaktualizowałem zależność od
implementation 'com.github.ybq:Android-SpinKit:1.1.0'
doimplementation 'com.github.ybq:Android-SpinKit:1.2.0'
. iw moim przypadku problem został rozwiązany.źródło
Ustaw ścieżkę DistributionUrl w plikach gradle-wrapper-properties jako:
distributionUrl = https: //services.gradle.org/distributions/gradle-4.10.2-all.zip
źródło
Ważne - odpowiedź działa tylko dla terminala REACT-NATIVE VS CODE
W kodzie VisualStudio musisz działać jak poniżej, to ostrzeżenie zostanie pominięte.
react-native run-android warning-mode = all
źródło
U mnie to działa w tym numerze w projekcie react-native:
W tej kompilacji użyto przestarzałych funkcji Gradle, co czyni ją niezgodną z Gradle 7.0.
244 zadania do wykonania: 2 wykonane, 242 aktualne D8: Nie można zmieścić żądanych klas w jednym pliku dex (# pola: 67296> 65536) com.android.builder.dexing.DexArchiveMergerException: Błąd podczas scalania archiwów dex: liczba odwołań do metod w pliku .dex nie może przekraczać 64 KB. Dowiedz się, jak rozwiązać ten problem na https://developer.android.com/tools/building/multidex.html ....
Ja to zrobiłem:
Odinstaluj aplikację z mojego urządzenia:
Liczba odwołań do metod w pliku .dex nie może przekraczać 64k API 17
źródło
Ostatecznie zdecydował się obniżyć junit 5 do junit 4 i przebudować środowisko testowe.
źródło
Rozwiązanie problemu: w tej kompilacji użyto przestarzałych funkcji gradle, co powoduje, że jest ona niezgodna z programem Gradle 6.0. android studio To dostarczone rozwiązanie zadziałało dla mnie.
Najpierw zmień ścieżkę klasy w zależnościach build.gradle projektu Od:
classpath 'com.android.tools.build:gradle:3.3.1'
Do:classpath 'com.android.tools.build:gradle:3.6.1'
Następnie wprowadź zmiany w pliku gradle-wrapper.properties, plik ten istnieje w folderze gradle> wrapper projektu Od:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
Do:distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
Następnie zsynchronizuj swój gradle.
źródło
Poniższe rozwiązanie pomogło mi, ponieważ otrzymałem to samo ostrzeżenie. W pliku ocen na poziomie projektu spróbuj zmienić wersję oceny w ścieżce klas
classpath "com.android.tools.build:gradle:3.6.0" to classpath "com.android.tools.build:gradle:4.0.1"
źródło
W moim przypadku dodanie multiDexEnabled true w pliku Android / build / build.gradle skompilowało pliki.
Postaram się usunąć to w przyszłości, tak jak w dokumentacji jest napisane: „Przed skonfigurowaniem aplikacji w celu umożliwienia korzystania z 64 KB lub więcej odwołań do metod, należy podjąć kroki w celu zmniejszenia całkowitej liczby odwołań wywoływanych przez kod aplikacji, w tym metod zdefiniowane przez kod aplikacji lub dołączone biblioteki ”.
defaultConfig { applicationId "com.peoplesenergyapp" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" multiDexEnabled true // <-add this }
źródło
W projekcie SpringBoot używającym IntelliJ i Gradle otrzymałem ostrzeżenie „W tej kompilacji zostały użyte przestarzałe funkcje Gradle, co powoduje, że jest ona niezgodna z Gradle 5.0” podczas uruchamiania testu integracji. To, co rozwiązało problem, to: - Przejście do: Plik> Ustawienia> Kompilacja, Wykonanie, Wdrożenie - Wybranie opcji „Kompiluj i uruchom przy użyciu”: Intellij IDEA (zamiast „Gradle”) - To samo dotyczy „Uruchom testy przy użyciu” To nie wyjaśnia dlaczego Gradle wyświetla ostrzeżenie, ale to pozwoliło mi przeprowadzić test i postęp w mojej pracy.
źródło
Naprawiono tego rodzaju błąd po migracji do AndroidX
źródło
Jeśli używasz natywnego reagowania, wypróbuj najpierw poniższe polecenia przed uruchomieniem projektu:
Teraz ponownie uruchom projekt. Mam nadzieję, że to zadziała.
źródło