Cảnh báo thời gian chạy Kotlin đã lỗi thời trong Android Studio


160

Sau khi tải xuống và cài đặt plugin Kotlin mới nhất, tôi đã cảnh báo Thời gian chạy Kotlin lỗi thời từ Android Studio cho tôi biết:

Phiên bản thời gian chạy Kotlin của bạn trong thư viện 'kotlin-stdlib-1.1.2' là 1.1.2, trong khi phiên bản plugin là 1.1.2-release-Studio2.3-3. Thư viện thời gian chạy nên được cập nhật để tránh các vấn đề tương thích.

Tôi đã cố bấm vào nút Cập nhật thời gian chạy nhưng nhận được một tin nhắn khác:

Cập nhật phiên bản thư viện tự động cho các dự án Gradle hiện không được hỗ trợ. Vui lòng cập nhật build.gradle của bạn bằng tay.

Làm thế nào để giải quyết vấn đề này?

Câu trả lời:


142

Bạn có thể cập nhật phiên bản Kotlin trong build.gradletệp cấp dự án của bạn . Nếu bạn đã cấu hình nó theo cách thông thường, bạn nên có dòng sau đây ở trên cùng:

ext.kotlin_version = '1.1.2'

Để nâng cấp lên phiên bản phù hợp với plugin của bạn, chỉ cần thay đổi dòng này thành:

ext.kotlin_version = '1.1.2-3'

Chỉnh sửa (để trả lời câu hỏi bên dưới):

Lỗi cho bạn biết rằng bạn cần nâng cấp phiên bản của mình, câu hỏi là nơi để tìm ra rằng bạn phải đưa vào 1.1.2-3thay vì nói, ví dụ , 1.1.2-release-Studio2.3-3.

Cách tốt nhất để tìm ra phiên bản mới nhất của Kotlin là vào kotlinlang.org và tìm kiếm "Phiên bản mới nhất". Nên ở ngay trên trang nhất.

Một điều cần làm nếu số phiên bản không tầm thường như thế này là kiểm tra kho lưu trữ nơi các phiên bản được lưu trữ. Trong trường hợp của Android, có lẽ bạn sẽ nhận được nó từ jcenter, nơi bạn có thể tìm thấy trang kho lưu trữ , trong đó có tất cả các phiên bản có sẵn được liệt kê.

Bạn cũng có thể duyệt kho lưu trữ maven thô của jcenter nơi các tệp thực sự được lưu trữ bằng cách truy cập vào đây hoặc tìm kiếm Kotlin trên mvnreposeective hoặc trên mavencentral (phiên bản thô của phần sau ở đây ).


1
Cảm ơn, điều này không rõ ràng từ lỗi. Làm thế nào tôi có thể rút ra được những gì để làm, làm thế nào bạn tìm ra?
Cậu bé

Xuất sắc! Bây giờ tôi đã phớt lờ cảnh báo này vì tôi không thể tìm ra cách để làm điều này.
Kẻ lừa đảo

1
Đối với bất kỳ ai như tôi, có hai "build.gradle" trong dự án của bạn, hãy đảm bảo bạn đã kiểm tra tệp cấp dự án.
Ihab Shoully


139

Trong (Project: [projectName]) build.gradletệp của bạn, hãy tìm mục này: ext.kotlin_version = 'x.x.x'và thay thế xxx bằng phiên bản hiện tại của plugin Kotlin. nhập mô tả hình ảnh ở đây

Để kiểm tra phiên bản hiện tại của plugin Kotlin của bạn:

  1. Truy cập: Công cụ -> Kotlin -> Confugure Cập nhật plugin Kotlin

  2. Nhấp vào "Kiểm tra lại". Sau một giây, bạn sẽ thấy phiên bản plugin Kotlin của mình. (Nếu không cập nhật, plugin Kotlin của bạn sẽ được cập nhật.) nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

NB: Đồng thời kiểm tra (Module: app) build.gradletệp của bạn và đảm bảo rằng bạn không sử dụng:

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.21" 

nhưng

compile 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.40'

Lưu ý sự khác biệt "... jre7 ..." -> "... jdk7 ...". Đồng thời thay thế "1.2.40" bằng phiên bản plugin Kotlin hiện tại của bạn.


Cảm ơn bạn đã giúp tôi cập nhật plugin Koltin của mình bằng cách thực hiện Công cụ-> Kotlin -> Định cấu hình Cập nhật Kotlin-> Kiểm tra cập nhật-> Cài đặt.
Shylendra Madda

Điều này nên được chấp nhận câu trả lời !! Tôi đang sử dụng Android Studio 3.1.3, tôi gặp vấn đề tương tự như OP
Ajay Kulkarni

nhớ sử dụng 1.3.31
Raju yourPepe

11

nó phàn nàn (trên Android Studio 3.0.1) ... rất có thể là do sự phụ thuộc của các thư viện được tham chiếu:

Phiên bản thời gian chạy Kotlin của bạn trong thư viện 'org.jetbrains.kotlin: kotlin-stdlib: 1.1.3@jar' là 1.1.3, trong khi phiên bản plugin là 1.1.51-release-Studio3.0-1.

sau đó tôi đã thi hành xây dựng theo phiên bản mà nó yêu cầu, ở cấp độ mô-đun build.gradle:

configurations.all() {
    resolutionStrategy.force 'org.jetbrains.kotlin:kotlin-stdlib:1.1.51'
}

và kết quả là:

./gradlew app:dependencies | grep kotlin
Download https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.51/kotlin-stdlib-1.1.51.pom
 |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 -> 1.1.51
 ...

6

Có hai phần bạn có thể muốn cập nhật:

  1. thời gian chạy kotlin cho dự án
  2. plugin kotlin

Câu trả lời của Ivo Stoyanov cho thấy cách thực hiện điều này bằng các menu của studio android. Khi tôi nhận được thông báo lỗi và đã thử điều này (cập nhật plugin kotlin), nó vẫn phàn nàn về thời gian chạy kotlin. Bạn có thể cập nhật điều đó trên một dự án theo dự án, bằng cách thêm dòng trên ext.kotlin_version vào lớp xây dựng dự án, như một số câu trả lời khác chỉ ra. Nhưng bạn sẽ cần biết phiên bản thời gian chạy kotlin cho điều đó. Ngoài ra, bạn cũng có thể làm điều đó thông qua các menu, như tôi hiển thị ở đây bên dưới, với phần thưởng mà studio android cho bạn thấy các phiên bản có sẵn và bạn có thể chọn phiên bản mới nhất.

bước 1

bước 2

bước 3

bước 4

Và sau đó, studio android sẽ thêm vào dòng thích hợp trong lớp xây dựng dự án của bạn.


3

thay đổi ext.kotlin_version của bạn từ '1.1.2-4'to ext.kotlin_version =' 1.1.2-5 'đã giải quyết vấn đề cho tôi


Làm plugin kotlin không hỗ trợ cập nhật plugin tự động ?? nó cho thấy để cập nhật gradle bằng tay
Devil10

4
nó hiển thị "Phiên bản thời gian chạy Kotlin của bạn trong thư viện 'kotlin-stdlib-1.1.2-5' là 1.1.2-5, trong khi phiên bản plugin là 1.1.3-release-Studio2.3-1.R thư viện nên được cập nhật lên tránh các vấn đề tương thích. " .... tôi nên làm gì bây giờ.
Devil10

thay đổi ext.kotlin_version của bạn từ '1.1.2-5'to ext.kotlin_version =' 1.1.3-1 '
Beatrice Lin

2

phiên bản mới nhất của kotlin là 1.2.41 sử dụng điều này và đồng bộ hóa dự án của bạn.

buildscript {
ext.kotlin_version = '1.2.41'
repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

1
Bây giờ là 1,2,51 vào ngày 5 tháng 7; xem câu trả lời của tôi để biết cách dễ dàng để xem phiên bản mới nhất là gì.
tốt

2

Kể từ ngày 8 tháng 3 năm 2019, phiên bản kotlin hiện tại là'1.3.21'

Dưới build.gradle

buildscript {
   ext.kotlin_version = '1.3.21'
   repositories {
      google()
      jcenter()
   }
   dependencies {
      classpath 'com.android.tools.build:gradle:3.3.2'
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

chúc mừng


1

Vấn đề này xảy ra khi bạn cập nhật phiên bản plugin kotlin xuất hiện từ studio android, nhưng vấn đề là phiên bản hiện tại của Android studio không thể tự động thay đổi plugin cấp độ kotlin nằm trong tệp Build.gradle cấp dự án của bạn .

dependencies {
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.10"
}

Làm thế nào để giải quyết vấn đề này?

Vì vậy, bạn cần thay đổi thủ công phiên bản này, Bạn có thể tìm thấy ở đây


Thời gian chạy kotlin và plugin kotlin là khác nhau. Câu hỏi được hỏi về thông báo lỗi yêu cầu cập nhật thời gian chạy kotlin.
tốt

1

Tôi đã chạy vào vấn đề này một vài lần trong Android Studio và IDEA, phát hiện ra rằng nếu bạn đi vào các dự án của bạn tập tin Gradle và phụ thuộc của bạn nếu bạn thiết lập các phiên bản của kotlin-gradle-pluginđể $kotlin_versionsau đó thông điệp cảnh báo sẽ cho bạn biết những gì phiên bản bạn cần đặt ext.kotlin_versionthành.

buildscript {
ext.kotlin_version = '1.2.40'
repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

nhập mô tả hình ảnh ở đây


1
buildscript {
    ext.kotlin_version = '1.2.50'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

1

tìm kiếm hai dòng mã này

ext.kotlin_version = '1.3.11'

classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ kotlin_version"

thay thế $ kotlin_version bằng giá trị thực tế (ở đây là 1.3.11)

classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: 1.3.11"

sau đó IDE của bạn sẽ tự động đề xuất cho bạn phiên bản cập nhật

hạnh phúc mã hóa :)


0

Phiên bản mới nhất của Kotlin:

buildscript {
    ext.kotlin_version = '1.2.41'

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        classpath 'com.google.gms:google-services:1.5.0-beta2'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

Bây giờ là 1,2,51 vào ngày 5 tháng 7; xem câu trả lời của tôi để biết cách dễ dàng để xem phiên bản mới nhất là gì.
tốt

0

Bit gây phiền nhiễu nhưng studio hoạt động như vậy một số lần. Các bước dưới đây có thể khắc phục vấn đề.

Đi đến

Cài đặt -> Xây dựng, Thực thi, Phát triển -> Lớp -> Sử dụng trình bao bọc lớp mặc định (được khuyến nghị)

thay đổi điều này thành Sử dụng cục bộ và quay lại Sử dụng mặc định. Studio sẽ hỏi về việc cập nhật lớp sau khi đóng các cửa sổ cài đặt.


0

Tôi đã phải đối mặt với vấn đề tương tự sau khi cập nhật studio android của tôi từ 3.0.1 lên 3.2.1. Vấn đề của tôi đã được giải quyết sau khi sử dụng.

buildscript {
ext.kotlin_version = '1.2.51'
repositories {
    google()
    jcenter()
    mavenCentral()
    maven { url "https://jitpack.io" }
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}


-1

Tôi đã phải đối mặt với vấn đề này trên Android Studio mới nhất từ ​​kênh Canary. Bạn cũng có thể muốn xem xét hạ cấp Android Studio xuống phiên bản ổn định.

Nó đã xảy ra với tôi trên Android Studio 3.0 RC1.

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.