Android Studio 3.0 - ไม่พบวิธีการ 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List'


98

การพยายามเริ่มโครงการ Kotlin ใหม่ด้วย Android Studio 3.0 Canary 1 แสดงข้อผิดพลาดนี้ ติดตามแบบเต็ม:

ข้อผิดพลาด: ไม่พบวิธีการ 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List;' สาเหตุที่เป็นไปได้สำหรับข้อผิดพลาดที่ไม่คาดคิดนี้ ได้แก่ :

  • แคชอ้างอิงของ Gradle อาจเสียหาย (บางครั้งเกิดขึ้นหลังจากหมดเวลาการเชื่อมต่อเครือข่าย) ดาวน์โหลดการอ้างอิงและโครงการซิงค์อีกครั้ง (ต้องใช้เครือข่าย)
  • สถานะของกระบวนการสร้าง Gradle (daemon) อาจเสียหาย การหยุด Gradle daemons ทั้งหมดอาจช่วยแก้ปัญหานี้ได้ หยุดกระบวนการสร้าง Gradle (ต้องรีสตาร์ท)
  • โปรเจ็กต์ของคุณอาจใช้ปลั๊กอินของบุคคลที่สามซึ่งเข้ากันไม่ได้กับปลั๊กอินอื่น ๆ ในโปรเจ็กต์หรือเวอร์ชันของ Gradle ที่โปรเจ็กต์ร้องขอ
ในกรณีของกระบวนการ Gradle ที่เสียหายคุณสามารถลองปิด IDE แล้วฆ่ากระบวนการ Java ทั้งหมด

ฉันได้ลองสองตัวเลือกแรกแล้วและปลั๊กอินของบุคคลที่สามจะถูกปล่อยให้เป็นค่าเริ่มต้น

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
}

ฉันยังไม่ได้สัมผัสค่าเหล่านี้ด้วยตัวเองมันถูกปล่อยให้เป็นค่าเริ่มต้น การสร้างโครงการใหม่ที่ไม่ใช่ Kotlin ไม่มีปัญหานี้


คำตอบ:


200

ในbuild.gradleของฉันเปลี่ยนไป

ext.kotlin_version = '1.1.2-3'

ถึง

ext.kotlin_version = '1.1.2-4'

แก้ไขสิ่งนี้

คุณสามารถค้นหารุ่นล่าสุดที่นี่


3
แก้ไขได้ที่นี่! แต่ปลั๊กอินเป็นเวอร์ชัน1.1.2-3ไม่เปิด1.1.2-4ฉันจะทำอย่างไร
Pedro Paulo Amorim

5
@PedroPauloAmorim ฉันไม่แน่ใจว่านี่เป็นคำตอบที่ถูกต้องหรือไม่ แต่เมื่อฉันเข้าไปที่การตั้งค่า> ปลั๊กอินและถอนการติดตั้งปลั๊กอิน Kotlin และเริ่มต้นใหม่ระบบจะบูตด้วย 1.1.2-4 ที่ติดตั้ง แปลก แต่อาจเป็นขั้นตอนในทิศทางที่ถูกต้อง
สูงสุด

1
ใช่เพียงแค่ลบปลั๊กอินและvoilá
Pedro Paulo Amorim

2
ฉันสามารถยืนยันได้ว่าสิ่งนี้ทำงานบน android studio 3.0 canary 3 ซึ่งได้รับการโหวต
Mohammed Elrashied

แปลกตอนนี้เกิดขึ้นกับฉันตอนที่ฉันเพิ่งดาวน์โหลด Android studio 3 โชคดีที่ฉันมาพบทางออกที่นี่
JustADev


2

สำหรับ Java

เพียงแค่ลบ

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

ดาวน์เกรดbutterknifeเวอร์ชันเป็น8.4.0

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

อย่าลืมเอาออก

apply plugin: 'me.tatarka.retrolambda'

จากระดับการสร้างแอป


1

นี่เป็นปัญหาที่ทราบแล้วใน Android Studio Preview 3.0:

หากคุณเห็นข้อผิดพลาดนี้อาจเป็นไปได้ว่าคุณมีปลั๊กอิน Kotlin เวอร์ชันที่มีอยู่แล้วซึ่งเข้ากันไม่ได้กับปลั๊กอิน Android ใหม่สำหรับ Gradle ที่อยู่ใน Android Studio 3.0 วิธีแก้คือลบปลั๊กอิน Kotlin เก่า

เปิดโครงการระดับไฟล์และค้นหาbuild.gradle ext.kotlin_versionควรเป็น 1.1.2-4 (หรือสูงกว่า) หากแสดงเวอร์ชันเก่าคุณต้องลบปลั๊กอิน Kotlin เก่าเพื่อไม่ให้ขัดขวางเวอร์ชันที่มาพร้อมกับ Android Studio 3.0

บน Windows ควรอยู่ที่

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

บน Mac ให้มองเข้าไป

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


1

ในกรณีของปัญหาที่เกิดเพราะเราใช้butterknife-gradle ปลั๊กอิน การอัปเกรดเป็น 8.8.1 ไม่สามารถแก้ไขปัญหาได้ แต่การลบออกทำได้อย่างแน่นอน

build.gradleเป็นแอพลิเคชันเพื่อให้ฉันไม่ได้รู้ว่าทำไมเราจะใช้ที่ปลั๊กอิน (ฉันใหม่เพื่อโครงการ)


1

อัปเดตเวอร์ชัน kotlin ของคุณให้เป็นเวอร์ชันล่าสุด:

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

จากนั้นคุณอาจพบข้อผิดพลาดอื่น ๆ อีกดังนั้นก่อนที่จะซิงค์อีกครั้งตรวจสอบให้แน่ใจว่าของคุณbuildToolsVersionคือ "26.0.2" หรือสูงกว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.