Android Studio 3.0 - Không thể tìm thấy phương pháp 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / use / List'


98

Cố gắng bắt đầu một dự án Kotlin mới với Android Studio 3.0 Canary 1 sẽ hiển thị lỗi này. Dấu vết đầy đủ:

Lỗi: Không thể tìm thấy phương pháp 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / use / List;'. Nguyên nhân có thể gây ra lỗi không mong muốn này bao gồm:

  • Bộ nhớ cache phụ thuộc của Gradle có thể bị hỏng (điều này đôi khi xảy ra sau khi hết thời gian kết nối mạng.) Tải xuống lại các phụ thuộc và đồng bộ dự án (yêu cầu mạng)
  • Trạng thái của quá trình xây dựng Gradle (daemon) có thể bị hỏng. Dừng tất cả các daemon Gradle có thể giải quyết vấn đề này. Dừng các quy trình xây dựng Gradle (yêu cầu khởi động lại)
  • Dự án của bạn có thể đang sử dụng plugin của bên thứ ba không tương thích với các plugin khác trong dự án hoặc phiên bản Gradle mà dự án yêu cầu.
Trong trường hợp các quy trình Gradle bị hỏng, bạn cũng có thể thử đóng IDE và sau đó giết tất cả các quy trình Java.

Tôi đã thử hai tùy chọn đầu tiên và các plugin của bên thứ ba được để làm mặc định.

gradle-wrapper.properties

#Thu May 18 08:36:52 BST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip

build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.1.2-3'
    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
        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
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Tôi chưa tự mình chạm vào bất kỳ giá trị nào trong số này, chúng được để như mặc định. Tạo một dự án mới không phải Kotlin không có vấn đề này.


Câu trả lời:


198

Trong build.gradle của tôi đang thay đổi

ext.kotlin_version = '1.1.2-3'

đến

ext.kotlin_version = '1.1.2-4'

đã sửa lỗi này.

Bạn có thể tìm thấy phiên bản mới nhất tại đây .


3
Đã giải quyết ở đây! Nhưng plugin đang ở phiên bản 1.1.2-3chứ không phải trên phiên bản , 1.1.2-4tôi có thể làm gì?
Pedro Paulo Amorim

5
@PedroPauloAmorim Tôi không chắc đây có phải là câu trả lời đúng hay không , nhưng khi tôi vào Cài đặt> Trình cắm và gỡ cài đặt plugin Kotlin và khởi động lại, nó khởi động với 1.1.2-4 được cài đặt. Kỳ lạ, nhưng có thể là một bước đi đúng hướng.
Tối đa

1
Vâng, chỉ cần xóa plugin và voilá
Pedro Paulo Amorim

2
tôi có thể xác nhận rằng làm việc này trên trường quay android 3.0 chim hoàng yến 3, upvoted
Mohammed Elrashied

Lạ, điều này xảy ra với tôi bây giờ khi tôi chỉ cần tải về Android studio 3. May mắn tôi đã kết thúc vào đây để tìm ra giải pháp
JustADev

2

Nó đã làm việc cho tôi

Sử dụng phiên bản 8.4.0

 classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'  

2

Đối với Java

Chỉ cần loại bỏ

classpath 'me.tatarka:gradle-retrolambda:3.7.0'

hạ cấp butterknifephiên bản xuống8.4.0

classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'

Đừng quên loại bỏ

apply plugin: 'me.tatarka.retrolambda'

từ cấp độ ứng dụng xây dựng.


1

Đây là sự cố đã biết trong Android Studio Preview 3.0:

Nếu bạn gặp lỗi này, có thể bạn có phiên bản plugin Kotlin tồn tại trước đó không tương thích với Plugin Android mới dành cho Gradle trong Android Studio 3.0. Giải pháp là xóa plugin Kotlin cũ.

Mở build.gradletệp cấp dự án của bạn và định vị ext.kotlin_version. Nó phải là 1.1.2-4 (hoặc cao hơn). Nếu nó hiển thị phiên bản cũ hơn, bạn cần xóa plugin Kotlin cũ để nó không cản trở phiên bản đi kèm với Android Studio 3.0.

Trên Windows, nó sẽ được đặt tại

C:\Users\user_name\AndroidStudio_version\config\plugins\Kotlin\

Trên Mac, hãy xem

~/Library/Application\ Support/AndroidStudio_version/Kotlin/


1

Cập nhật phiên bản kotlin của bạn lên phiên bản mới nhất:

ext.kotlin_version = '1.1.2-4' //currently it's the latest version

Sau đó, bạn có thể gặp phải một số lỗi khác, vì vậy trước khi đồng bộ hóa lại, hãy đảm bảo rằng của bạn buildToolsVersionlà "26.0.2" trở lên.


0

Trong trường hợp của tôi, sự cố là do chúng tôi đang áp dụng butterknife-gradle-plugin . Nâng cấp lên 8.8.1 không khắc phục được sự cố nhưng việc xóa nó chắc chắn đã làm được.

Các build.gradle thuộc vào ứng dụng, vì vậy tôi thậm chí không biết lý do tại sao chúng tôi đang sử dụng mà plugin (Tôi mới cho dự án)

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.