Phiên bản Gradle 1.10 là bắt buộc. Phiên bản hiện tại là 2.0


80

Tôi đang cố gắng sử dụng phiên bản Gradle mới nhất (2.0), tuy nhiên tôi vẫn nhận được thông báo này khi nhấn bản dựng gradle trong thiết bị đầu cuối. Tại sao nó lại yêu cầu phiên bản 1.10? Tôi mới làm quen với Gradle, vì vậy tôi đang cố gắng tìm hiểu nó.

Phiên bản Gradle 1.10 là bắt buộc. Phiên bản hiện tại là 2.0

Đây là các phụ thuộc của tôi (tệp module build.gradle):

dependencies {
    classpath 'com.android.tools.build:gradle:0.12.+'
    classpath fileTree(dir: 'build-libs', include: '*.jar')
}

... và tác vụ trình bao bọc:

task wrapper(type: Wrapper) {
    gradleVersion = "2.0"
}

Ngoài ra, tôi đã đặt URL phân phối như sau (trong tệp local.properties):

distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-all.zip

Điều cuối cùng là trong File->Settings->Gradle, tôi đã chọn "Sử dụng trình bao bọc gradle có thể tùy chỉnh"

GRADLE_HOME được đặt thành C: \ Program Files (x86) \ Gradle \ gradle-2.0

Tệp build.gradle:

buildscript {

    repositories {
        mavenLocal()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
        classpath fileTree(dir: 'build-libs', include: '*.jar')
    }
}


task wrapper(type: Wrapper) {
    gradleVersion = "2.0"
}

CẬP NHẬT1

Như hiện tại, tôi đang sử dụng Android Studio 1.1.0 này với phiên bản plugin 1.1.0-rc1

    dependencies {
    classpath 'com.android.tools.build:gradle:1.1.0-rc1'
}

Phiên bản Gradle là 2.3 trong gradle-wrapper.properties

distributionUrl=http\://services.gradle.org/distributions/gradle-2.3-all.zip

Tôi đã thử phiên bản plugin 1.1.0, nhưng sau đó nó phàn nàn về com.android.application

CẬP NHẬT 01/2016

Như hiện tại, tôi đang sử dụng phân phối gradle 2.9 trong gradle -> wrapper -> gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip

và plugin là

classpath 'com.android.tools.build:gradle:1.5.0'

Bạn có thể đăng tệp build.gradle của bạn được không?
apmartin1991

Vẫn gặp sự cố này. plugin được đặt thành 0,12. + và tôi đang sử dụng bản phát hành chính thức của Gradle 2.0. Không thể tìm thấy bất kỳ dấu vết nào của 1.10. Tại sao nó yêu cầu cho nó :(
Nabdreas

bạn đã tạo trình bao bọc cho 1.10? Tôi đang gặp vấn đề tương tự. Vui lòng đăng một bản cập nhật nếu bạn làm việc này. Tôi vừa quay lại một dự án dựa trên gradle và không thể làm cho nó hoạt động trở lại mặc dù đã cố gắng tạo lại các trình bao bọc.
RichieHH

Không có gì may mắn với 2.0, tôi đã sử dụng 1.12 cho đến bây giờ. Nếu tôi quản lý để tìm ra một giải pháp, tôi chắc chắn sẽ đăng nó! Điều có thể hữu ích là xóa thư mục .gradle trong C: / User. Tôi phải làm điều đó để làm cho 1,12 làm việc
Nabdreas

Nếu nó hữu ích, vì nó là đúng, tôi đang sử dụng Gradle 2.2.1, Plugin 1.0.1 và AS phiên bản 1.1 Xem trước 2. Không có vấn đề gì cả.
Nabdreas

Câu trả lời:


66

Phiên bản của plugin gradle Android cần phải tương thích với phiên bản của Gradle. Kiểm tra bảng ánh xạ tương thích phiên bản .

bảng ánh xạ tương thích


63
Thành thật mà nói, điều này cho thấy plugin thực sự ngớ ngẩn như thế nào khi nó không thể sử dụng phiên bản mới nhất của Gradle. Nghiêm túc đó Google ??? Nghe giống như địa ngục DLL mà Microsoft đã trải qua hàng thập kỷ trước. Hãy sử dụng Google.
AndroidDev

5
OMG điều này thật ngu ngốc và khó chịu, Android Studio thực hiện nó trên mỗi lần đồng bộ hóa và tự động hạ cấp nó cho tôi, tôi đang sử dụng 0.14.4 và Gradle 2.2 nhưng nó chỉ nhận ra Gradle 2.1 Có ai biết cách tắt kiểm tra này không?
Bob

2
@Bob hãy thử sử dụng gradle 2.2.1, tôi đã thay đổi gradle thành 2.2 và plugin thành 0.14.4 và nó đang yêu cầu gradle 2.1, nhưng việc thay đổi nó thành 2.2.1 đã sửa nó.
Nabdreas

2
Đối với Android Studio 1.0.1 thì sao?
Sauron

2
@Sauron bạn có thể sử dụng 1.0.+cho các Plugin và 2.2.1cho Gradle
Gustavo Barbosa

64

Thông báo: "Gradle phiên bản 1.10 là bắt buộc. Phiên bản hiện tại là 2.0"

Xảy ra khi: Cố gắng xây dựng một dự án Android yêu cầu phiên bản Gradle 1.10 trong khi sử dụng phiên bản gốc 2.0 của nó.

Giải pháp: Sử dụng Gradle Wrapper

Các bước:

  1. Đảm bảo rằng phân phối được chỉ định dưới dạng gradle-1.10-all.zip tại tệp thuộc tính Gradle-wrapper trong dự án Android. Đường dẫn tệp sẽ như thế này:

    MyAndroidProject / gradle / wrapper / gradle-wrapper.properties

  2. Chạy lệnh Gradle Wrapper ở cấp cao nhất của dự án nơi chứa các tập lệnh thực thi (tức là gradlewgradlew.bat ).

    Đối với hệ điều hành giống Unix :

    ./gradlew wrapper

    Đối với hệ điều hành Windows :

    trình bao bọc gradlew.bat

  3. Chạy lệnh xây dựng với Gradle Wrapper.

    Đối với hệ điều hành giống Unix :

    ./gradlew bản dựng

    Đối với hệ điều hành Windows :

    bản dựng gradlew.bat


1
Điều này đã làm việc cho tôi. Trong khi làm điều này, tôi đã phải cài đặt JDK và làm theo bài stackoverflow.com/questions/17587751/...
Chandru

1
Thật khiến tôi phát điên khi phân phốiUrl của tôi được đặt thành phiên bản mới nhất nhưng phiên bản gradle trên máy của tôi thì không và đồng bộ hóa gradle trong studio android không làm gì cả! Chạy './gradlew wrapper' tại nhà ga trong studio android được chính xác những gì tôi cần, đó là một sự xấu hổ của Google đã không được thực hiện dễ dàng hơn / rõ ràng hơn ...
AndroidNoob

16

Tôi đã khắc phục sự cố khi cập nhật phiên bản gradle trong tệp build.gradle:

dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'

}

Điều này giải quyết vấn đề của tôi. Tôi hy vọng điều này sẽ giúp ích.


3
với gradle 2.1 bạn sẽ cần phụ thuộc {classpath 'com.android.tools.build:gradle:0.13.+'}
Peter Szanto

1
vâng, bạn nói đúng, nhưng với gradle 2.1, tôi muốn sử dụng 'dependencies {classpath' com.android.tools.build:gradle:0.13.2 '}' sẽ tốt hơn nếu bạn không sử dụng. + ở cuối .
Mr.Moustard

Hoạt động khi: dependencies {classpath 'com.android.tools.build:gradle:0.13.2'} Cuối cùng tôi đã giải quyết được vấn đề bằng cách hoán đổi 'com.android.tools.build:gradle:0.12.+' Lạ là tôi sẽ nghĩ rằng bản gốc bị bắt 'com.android.tools.build:gradle:0.13.2'
sweetiewill

1
Chỉ trong trường hợp bạn đang sử dụng Gradle 2.1.1 thì bạn nên xác định classpath 'com.android.tools.build:gradle:0.14.+'
Claudia Mardegan

5

Có vẻ như phiên bản hiện tại của plugin Android Gradle (0.12.2) hoạt động với Gradle phiên bản không muộn hơn 1.12.

Tôi không tìm thấy một tuyên bố trực tiếp cho điều đó trên trang web Công cụ, chỉ có cụm từ này:

Gradle 1.10 hoặc 1.11 hoặc 1.12 với plugin 0.11.1.

Nhưng tôi đã thử nghiệm thủ công với Gradle 2.0 và 1.2 và nó không hoạt động, vì vậy tôi tin rằng hạn chế này từ trang Công cụ vẫn áp dụng cho plugin Android Gradle 0.12.2.

Tôi khuyên bạn không nên quay lại Gradle 1.12 bằng cách thiết lập distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-bin.zip trong gradle-wrapper.propertiestệp của bạn .

Sau đó chỉ cần sử dụng gradlewnhư bình thường.


4

Plugin Android yêu cầu một phiên bản cụ thể của Gradle. Phiên bản plugin Android mới nhất yêu cầu 1.12, phiên bản plugin Android được khai báo trong bản dựng của bạn yêu cầu 1.10.


2
Nó không đúng cách. Plugin android cuối cùng là 0.11.1 và hoạt động với gradle 1.10-1.11-1.12.
Gabriele Mariotti

Đúng là tôi có thể phải sử dụng Gradle 1.12 thay vì 2.0-rc-1 này ngay bây giờ. Plugin của tôi là 0,11. +, Thay vào đó tôi sẽ thử với 1,12.
Nabdreas

2

Tôi đang làm theo phương pháp của wono trên mac và gặp lỗi "không tìm thấy lệnh gradlew". Đã khắc phục sự cố bằng cách thay đổi mod của tệp gradlew

chmod + x gradlew

Tôi hy vọng điều này sẽ giúp những người khác


0

Nếu bạn gặp sự cố này do bạn đã chuyển dự án được phát triển bằng Android studio cũ sang Android Studio mới, thì chỉ cần tạo dự án mới trong Android Studio mới và kiểm tra chéo các tệp liên quan đến gradle của bạn với dự án mới tạo.


0

NẾU SỬA TRÊN KHÔNG LÀM VIỆC HÃY THỬ CÁCH NÀY

Bạn phải thay đổi dòng này trong build.gradle

classpath 'com.android.tools.build:gradle:0.9.+'

trong

classpath 'com.android.tools.build:gradle:1.1.+'

bạn phải thay đổi dòng này trong build.gradle

buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

Trong

buildTypes {
        release {
             minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
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.