programing

이 빌드에는 사용되지 않는 Gradle 기능이 사용되어 Gradle 5.0과 호환되지 않습니다.

minimums 2023. 9. 10. 12:05
반응형

이 빌드에는 사용되지 않는 Gradle 기능이 사용되어 Gradle 5.0과 호환되지 않습니다.

그라들 실패했습니다.

..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."

사례 설명:

  • 프로젝트 코드베이스에 다음 립스를 첨부합니다.

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"
  • gradle-wrapper.properties를 업데이트했습니다.

    분배Url=gramed....gradle-4.4-all.zip to 4.7-all

  • 그 모든 그라들이 성공을 거둔 후에.

  • 테스트 칼을 만들었습니다.

    @TestInstance(TestInstance.Lifecycle.PER_CLASS)
      class TestClass {
    
      @Test
      internal fun testName() {
        Assert.assertEquals(2, 1 + 1)
      }
    }
    
  • 테스트를 실행하고 실패 메시지를 받았습니다.

  • 인수 하여 를 를 했습니다 를 했습니다 하여 를 ./gradlew --warning-mode=all사용하지 않는 기능이 정확히 무엇인지 확인합니다.

결과적으로 앱을 만들 수 없었고 Failure: 메시지가 나타납니다.

인수를 하여 들 를 들 를 --warning-mode=all사용하지 않는 기능이 정확히 무엇인지 확인합니다.

빌드를 수정하는 방법에 대한 지침을 위해 Gradle 문서에 대한 링크와 함께 발견된 문제에 대한 자세한 설명을 제공합니다.

--stacktrace또한 빌드 스크립트가 아닌 플러그인 중 하나의 오래된 코드에 의해 트리거된 경우 경고가 어디에서 발생하는지도 정확히 파악할 수 있습니다.

이거 드셔보세요.

cd android && ./gradlew clean && ./gradlew :app:bundleRelease

아래 프로세스는 제 사례에서 작동했습니다 - First check Gradle Version:

cd android
./gradlew -v

제 경우에는 6.5 였습니다.

https://developer.android.com/studio/releases/gradle-plugin 로 이동하면 gradle 버전에 맞는 플러그인 버전이 제공됩니다.gradle 버전 6.5의 경우 플러그인 버전은 4.1.0입니다.

그럼 다음으로 이동합니다.app/build.gradleclasspath 'com.android.tools.build:gradle:<plugin_version>

제 프로젝트는 그라들 8.0과 호환되지 않았습니다.제게 도움이 된 것은 다음과 같습니다. 먼저 Android Studio 단말기에 코드 라인을 작성했습니다.

./gradlew build --warning-mode all

그렇게 하면 로그캣에 당신의 프로젝트에서 더 이상 사용되지 않거나 문제가 발견된 것이 표시됩니다. 저는 그것이jcenter()내 저장소에서 제거할 필요가 있었습니다.settings.gradle했습니다를 업데이트해야 .classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30"내 안에build.gradle프로젝트 파일입니다.

이런 작업을 한 후, 제 프로젝트는 완벽하게 구축되어 에뮬레이터에 설치되었습니다.

저는 이 오류를 받고 있었습니다.RN 캐시를 완전히 청소하고(상당히 정교한 프로세스) 릴리스 빌드를 만들 때에만 발생한 것으로 나타났습니다.

캐시를 청소하고 디버그 빌드를 생성한 다음 릴리스 빌드를 생성하면 모든 것이 작동했습니다.걱정은 되지만 효과는 있습니다.

참고: 내가 할 말은...

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

중요 - REACT-NATIC VS CODE 단자에 대해서만 응답 작업

VisualStudio 코드에서는 아래와 같이 실행해야 경고가 생략됩니다.

react-limit run-limit warning-mode=모두

아래에서 실행하면 react-native run-android --warning-mode all I get error: unknown option --warning-mode'라는 오류가 나타납니다.

내 경우에는 업데이트 했습니다.build.gradle파일을 작성하여 작성합니다.classpath최신 버전으로3.5.23.6.3

dependencies {
        classpath("com.android.tools.build:gradle:3.6.3") 
    }

안드로이드/app/build.gradle 파일에서 multiDexEnabled true를 추가한 경우 파일을 컴파일했습니다.

문서에 나와 있는 '64K 이상의 메서드 참조를 사용할 수 있도록 앱을 구성하기 전에 앱 코드에서 호출한 총 참조 수를 줄이도록 조치해야 합니다.'라고 나와 있는 문서와 같이 앞으로 이 문제를 제거하는 방법에 대해 알아보겠습니다.

defaultConfig {
  applicationId "com.peoplesenergyapp"
  minSdkVersion rootProject.ext.minSdkVersion
  targetSdkVersion rootProject.ext.targetSdkVersion
  versionCode 1
  versionName "1.0"
  multiDexEnabled true // <-add this 
}

저도 같은 경고를 받고 있었기 때문에 다음과 같은 해결책이 도움이 되었습니다.프로젝트 레벨 그라들 파일에서 클래스 경로의 그라들 버전을 변경해 보십시오.

classpath "com.android.tools.build:gradle:3.6.0" to
classpath "com.android.tools.build:gradle:4.0.1"

타사 종속성을 업데이트합니다.를 들어 나는 의존성을 업데이트 했습니다.implementation 'com.github.ybq:Android-SpinKit:1.1.0'implementation 'com.github.ybq:Android-SpinKit:1.2.0' 제 해결되었습니다. 그리고 저의 경우는 문제가 해결되었습니다.

이 문제에 대해서는 반응 네이티브 프로젝트에서 효과가 있습니다.

이 빌드에는 더 이상 사용되지 않는 그라들 기능이 사용되어 그라들 7.0과 호환되지 않습니다.

244개의 실행 가능한 작업: 2개 실행, 242개의 최신 D8: 요청된 클래스를 단일 덱스 파일(#필드: 67296 > 65536) comandroid에 맞출 수 없습니다.건설업자.건설업자.건설업자.덱스 아카이브 병합예외:dex 아카이브 병합 중 오류 발생:.dex 파일의 메서드 참조 수는 64K를 초과할 수 없습니다.https://developer.android.com/tools/building/multidex.html 에서 이 문제를 해결하는 방법에 대해 알아보십시오.

내가 한 일:

에 가다gradle/wrapper/gradle-wrapper.properties변경하다, 바꿔치기하다, 고치다, 고치다, 고치다, 고치다distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip필요한(또는 그 이상의) 릴리스에 적합합니다.

cd android && ./gradlew bundleRelease

장치/에뮬레이터에서 이전 앱을 제거합니다.그것은 나에게 효과가 있었다.

gradle-wrapper-properties 파일의 distributionUrl 경로를 다음과 같이 설정합니다.

분배url=https://services.gradle.org/distributions/gradle-4.10.2-all.zip

문제 해결책: 이 빌드에서 사용되지 않는 그라들 기능이 사용되어 그라들 6.0. 안드로이드 스튜디오와 호환되지 않습니다. 이 제공된 솔루션은 나에게 효과가 있었습니다.

build. From: build.gradle 에서 합니다 를 의 합니다 에서 를 의 classpath 'com.android.tools.build:gradle:3.3.1'받는 사람:classpath 'com.android.tools.build:gradle:3.6.1'

이 의 gradle에 존재합니다. From: gradle-wrapper.properties 을. 은 gradle>wrapper 에.distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip받는 사람:distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

그러면 그라들 동기화.

반응반응기를 사용하고 있는데 효과가 있습니다.

  1. 의 근원에cd android그리고.gradlew clean
  2. 창에서 태스크 관리자 열기
  3. java.exe 프로세스 모두에서 'Details' 탭의 히트 엔드 태스크

장문의 단편> Task :app:installDebug FAILEDkiling java.exe prossess

디스크 공간이 4GB 미만이므로 Gradle librepo를 가져올 수 없음을 발견하고 표시합니다.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

그냥 tmp와 정크 파일을 제거하고 공간을 확보한 다음 빌드를 시도하고 문제를 해결합니다.

/android에서 .gradle 폴더를 삭제하고 npm run android를 다시 실행하여 이 문제를 해결했으며 이 오류를 해결했습니다.다음은 이 문제에 대한 링크입니다. https://github.com/facebook/react-native/issues/28954

1)cd 안드로이드 2) ./gradlew clean 3) ./gradlew : app:bundleRelease

그런 다음 last install npm install 명령을 실행합니다.

안드로이드 폴더 안에 있는 빌드와 .gridle 폴더를 삭제하고 다시 실행하지 않으면 react-native를 사용하고 있습니다. 문제가 해결되었습니다.

최종적으로 junit 5를 junit 4로 다운그레이드하고 테스트 환경을 재구축하기로 결정했습니다.

IntelliJ와 Gradle을 사용하는 SpringBoot 프로젝트에서 통합 테스트를 실행할 때 "Deprecated Gradle 기능이 이 빌드에 사용되어 Gradle 5.0과 호환되지 않습니다"라는 경고 메시지가 표시되었습니다.문제를 해결한 것은 다음과 같습니다. - 이동: 파일 > 설정 > 빌드, 실행, 배포 - "다음을 사용하여 빌드 및 실행" 선택:Intellij IDEA("Gradle" 대신) - "Run tests using(테스트 실행)"에 대해서도 마찬가지입니다. 이는 Gradle이 경고를 표시하는 이유에 대해서는 설명하지 못했지만, 테스트를 수행하고 작업을 진행할 수 있게 해주었습니다.

내 경우에는 기본 디렉토리에서 안드로이드 폴더 전체를 삭제하고 모든 폴더를 재구축할 수 있습니다.eas build저를 위해 이 오류를 수정했습니다 :)

그것은 비호환성 때문입니다.

업그레이드 해주세요classpath("com.android.tools.build:gradle:4.0.1")안드로이드 폴더 아래에 있는 build.gradle 파일에 있습니다.

settings.gradle 스크립트를 확인하고 제거합니다.jcenter()이로 인해 감가 상각되면서 문제가 발생할 수 있습니다.

설정입니다. 그래들 파일은 다음과 같습니다.

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
    plugins {
        id 'com.android.application' version '7.1.0-alpha12'
        id 'com.android.library' version '7.1.0-alpha12'
        id 'org.jetbrains.kotlin.android' version '1.5.21'
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
rootProject.name = "ComposePlayground"
include ':app'

CompositePlayground는 앱 이름임에 유의합니다.

gradle-wrapper.properties 파일을 업데이트하여 이 문제를 해결했습니다.라인 분포를 변경해야 합니다.The Gradle Wrapper에서 확인할 수 있는 최신 Gradle 빌드에 대한 Url=https://services.gradle.org/distributions/gradle-7.3.3-bin.zip

누군가에게 도움이 되길 바라요 :)

위의 답변들 중 아무 것도 저에게 통하지 않자, 저는 Gradle 플러그인을 최신 버전으로 업그레이드하고 JDK 11을 사용하여 이 문제를 해결할 수 있었습니다.누군가에게 도움이 되길 바랍니다!

웹에서 몇 시간 동안 검색한 후 다음 명령을 사용했습니다.
react-native run-android warning-mode=all
온 vs 코드.그리고 이 오류는 더 이상 사용하지 않는 모듈이나 그래들 오류와는 아무런 관련이 없는 것으로 드러났습니다. 단지 제 장치에 저장공간이 가득 찼을 뿐입니다.언젠가 누군가에게 도움이 되길 바랍니다.

제 경우 해결책은 이전 에뮬레이터를 삭제하고 새로운 에뮬레이터를 만드는 것이었습니다:|

이 솔루션을 사용해 보세요.
장치에 같은 이름(또는 패키지 이름)을 가진 다른 앱이 있는 경우: 이름을 바꾸거나 장치에서 삭제합니다.

언급URL : https://stackoverflow.com/questions/51610420/deprecated-gradle-features-were-used-in-this-build-making-it-incompatible-with

반응형