Các tính năng Gradle không dùng nữa đã được sử dụng trong bản dựng này, khiến nó không tương thích với Gradle 5.0


81

Tôi có một điểm số THẤT BẠI:

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

Mô tả trường hợp:

  • Được đính kèm vào codebase của dự án các libs tiếp theo:

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"
  • Đã cập nhật gradle-wrapper.properties

    phân phốiUrl = https .... gradle- 4.4-all .zip đến 4.7-all

  • sau khi tất cả gradle đó đã được xây dựng thành công

  • đã tạo calss thử nghiệm

    @TestInstance(TestInstance.Lifecycle.PER_CLASS)
      class TestClass {
    
      @Test
      internal fun testName() {
        Assert.assertEquals(2, 1 + 1)
      }
    }
    
  • đã chạy thử nghiệm và nhận được thông báo FAILURE. nhập mô tả hình ảnh ở đây

  • đã chạy bản dựng Gradle với đối số dòng lệnh ./gradlew --warning-mode=allđể xem chính xác các tính năng không dùng nữa là gì. nhập mô tả hình ảnh ở đây

Kết quả là tôi không thể tạo ứng dụng và nhận được thông báo FAILURE:.


1
Đó không phải là một thất bại. Ứng dụng vẫn biên dịch, không?
EpicPandaForce

1
Ứng dụng được biên dịch với cùng một thông báo lỗi. :-(
Philipp Buhaievskiy

2
Đó không phải là một thất bại. Sẽ là một thất bại nếu ứng dụng không biên dịch. Đó là một cảnh báo tốt nhất .
EpicPandaForce

@ EpicPandaForce rất tiếc rằng IS là một thông báo lỗi như tôi đã đề cập. Câu hỏi không phải là về cách diễn giải thông điệp, nhưng dù sao thì tôi cũng đánh giá cao tác động của bạn.
Philipp Buhaievskiy,

Câu trả lời:


67

Chạy bản dựng Gradle với đối số dòng lệnh --warning-mode=all để xem chính xác các tính năng không dùng nữa là gì.

Nó sẽ cung cấp cho bạn mô tả chi tiết về các vấn đề được tìm thấy với các liên kết đến tài liệu Gradle để biết hướng dẫn cách khắc phục bản dựng của bạn.

Thêm --stacktracevào đó, bạn cũng sẽ có thể xác định nơi xuất phát của cảnh báo, nếu nó được kích hoạt bởi mã lỗi thời trong một trong các plugin chứ không phải tập lệnh xây dựng của bạn.


Tôi đã cập nhật mô tả vấn đề, sử dụng đề xuất này.
Philipp Buhaievskiy

12
Khi chạy react-native run-android --warning-mode alltôi nhận đượcerror: unknown option --warning-mode'
Yokhen

12
Thử chạygradle build --warning-mode=all
Jordan Daniels

14

Hãy thử cái này

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

Cảm ơn, Bạn có thể giải thích lý do tại sao điều này không ./gradlew: app: packRelease hoạt động và điều này ./gradlew packRelease thì không.
Atikur Rahman Sabuj

perfecct đã làm việc cho tôi trong dự án cordova-9.0 của tôi: D
minigeek

10

Tôi đã nhận được lỗi này. Hóa ra nó chỉ xảy ra khi tôi làm sạch hoàn toàn bộ đệm RN (quá trình khá phức tạp) và sau đó tạo bản phát hành.

Nếu tôi đã làm sạch bộ nhớ đệm, tạo bản dựng gỡ lỗi và sau đó là bản phát hành, mọi thứ đều hoạt động. Hơi lo lắng nhưng hoạt động.

Lưu ý: Lệnh sạch của tôi là ...

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


5

trong trường hợp của tôi được cập nhật các build.gradletập tin và làm cho classpathlên phiên bản mới nhất từ 3.5.2đến3.6.3

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

3

Cập nhật các phụ thuộc bên thứ ba của bạn. ví dụ: tôi đã cập nhật phụ thuộc từ implementation 'com.github.ybq:Android-SpinKit:1.1.0' thành implementation 'com.github.ybq:Android-SpinKit:1.2.0'. và trong trường hợp của tôi vấn đề đã được giải quyết.


làm theo gợi ý của phím nóng để có mô tả chi tiết chính xác
Hiren

đây là sai lầm và tôi đang nâng cấp phiên bản gradle và thử mọi bước có thể. :(
Anshul1507

2

Đặt đường dẫn phân phốiUrl trong tệp gradle-wrapper-thuộc tính thành:

phân phốiUrl = https: //services.gradle.org/distributions/gradle-4.10.2-all.zip


Gradle của tôi có dòng này .. .distributionUrl = https \: //services.gradle.org/distributions/gradle-4.8.1-bin.zip Đã thay đổi nó thành và nó hoạt động. phân
phốiUrl

2

Quan trọng - Câu trả lời chỉ hoạt động cho Thiết bị đầu cuối REACT-NATIVE VS CODE

Trong mã VisualStudio, bạn phải chạy như dưới đây thì cảnh báo đó sẽ bị bỏ qua.

react-native run-android warning-mode = all

Nếu bạn chạy bên dưới thì bạn sẽ gặp lỗi trong terminal Khi chạy react-native run-android --warning-mode, tất cả tôi đều gặp lỗi: không xác định tùy chọn --warning-mode '


1

Giải pháp cho sự cố: các tính năng gradle không dùng nữa đã được sử dụng trong bản dựng này khiến nó không tương thích với gradle 6.0. android studio Giải pháp được cung cấp này phù hợp với tôi.

Đầu tiên thay đổi đường dẫn classpath trong các phụ thuộc của build.gradle trong dự án của bạn Từ: classpath 'com.android.tools.build:gradle:3.3.1' Đến: classpath 'com.android.tools.build:gradle:3.6.1'

Sau đó, thực hiện các thay đổi trong tệp gradle-wrapper.properties tệp này tồn tại trong thư mục gradle> wrapper của Dự án Từ: distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip Đến: distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Sau đó, đồng bộ hóa gradle của bạn.


0

Cuối cùng quyết định hạ cấp junit 5 xuống junit 4 và xây dựng lại môi trường thử nghiệm.


Bạn làm nó như thế nào?
Pratik Butani

Pratik hãy nhớ rằng, bây giờ, sáu tháng sau, tôi cho rằng hoàn cảnh xung quanh vấn đề này đã thay đổi. Tôi khuyên bạn nên điều tra từ đầu, nếu JUnit 5 thuận tiện để sử dụng làm công cụ kiểm tra.
Philipp Buhaievskiy

0

Trong một dự án SpringBoot sử dụng IntelliJ và Gradle, tôi nhận được cảnh báo "Các tính năng Gradle không được dùng nữa đã được sử dụng trong bản dựng này, khiến nó không tương thích với Gradle 5.0" khi chạy thử nghiệm tích hợp của tôi. Điều đã giải quyết được vấn đề là: - Đi tới: Tệp> Cài đặt> Xây dựng, Thực thi, Triển khai - Chọn cho "Xây dựng và chạy bằng cách sử dụng": Intellij IDEA (thay vì "Gradle") - Tương tự cho "Chạy thử nghiệm bằng cách sử dụng" Điều đó không giải thích tại sao Gradle lại hiển thị cảnh báo, nhưng điều đó cho phép tôi thực hiện kiểm tra và tiến bộ trong công việc của mình.


0

Nó đã được khắc phục loại lỗi này sau khi chuyển sang AndroidX

  • Đi tới Refactor ---> Di chuyển sang AndroidX

0

Giải pháp sau đây đã giúp tôi vì tôi cũng nhận được cảnh báo tương tự. Trong tệp gradle cấp dự án của bạn, hãy thử thay đổi phiên bản gradle trong classpath

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

0

Nếu bạn đang sử dụng react-native thì trước tiên hãy thử các lệnh dưới đây trước khi chạy dự án của bạn:

  1. npm install --save-dev jetifier
  2. npx hỗ trợ

Bây giờ hãy chạy lại dự án của bạn. Hy vọng điều này sẽ hiệu quả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.