2017-10-26 20 views
7

build.gradleKhông thể tìm thấy phương thức 'com.android.build.gradle.api.BaseVariant.getOutputs() Ljava/util/List;'

buildscript { 
    ext.kotlin_version = '1.1.51' 
    repositories { 
     jcenter() 
     mavenCentral() 
     maven { url "https://jitpack.io" } 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:3.0.0' 
     classpath 'me.tatarka:gradle-retrolambda:3.6.1' 
     classpath 'com.google.gms:google-services:3.1.0' 
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 
    } 
} 

app/build.gradle

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0' 
    } 
} 


     android{ 
      compileSdkVersion = 26 
      buildToolsVersion = "26.0.2" 
    defaultConfig { 
      minSdkVersion = 16 
      targetSdkVersion = 26 

     } 
    ... 
    applicationVariants.all { variant -> 

     variant.outputs.all { output -> 
      outputFileName = "newApkName.apk" 
     } 
    } 
} 

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

Unable to find method 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'. 

Nguyên nhân có thể cho lỗi không mong muốn này bao gồm: bộ nhớ cache phụ thuộc Gradle của có thể bị hỏng (điều này đôi khi xảy ra sau khi hết thời gian chờ kết nối mạng.) Tải xuống lại de pendencies and sync 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 Gradle xây dựng quy trình (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 Yêu cầu của dự án. Trong trường hợp các quá 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.

+0

Bạn có thể gửi giải pháp của bạn như một câu trả lời để các câu hỏi không giống như không trả lời cho những người đang tìm kiếm sự giúp đỡ. –

Trả lời

6

tôi đã cùng một lỗi với đồng bộ gradle, đặc biệt là gắn với butterknife, giải pháp của tôi đã được giải quyết thông qua

https://github.com/JakeWharton/butterknife/issues/963#issuecomment-339545297

tldr trong tệp xây dựng dự án của bạn ...

buildscript{ 
repositories { 
    //other repos will likely exist here like jcenter and mavenCentral 

    //add this closure 
    maven { 
    url "https://oss.sonatype.org/content/repositories/snapshots" 
    } 
    } 
    dependencies { 
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0' 
    classpath 'com.android.tools.build:gradle:3.0.0' 
    //change your version to 9.0.0-SNAPSHOT 
    classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT' 
    //.. other project level dependencies 
    } 
} 
} 

Ngoài ra hãy chắc chắn allproject của bạn bao gồm

allproject{ 
    repositories{ 
    maven { 
     //this 
     url "https://oss.sonatype.org/content/repositories/snapshots" 
    } 
    } 
} 

Và sau đó các vấn đề liên quan none butterknife được upping tôi buildToolsVersions để "26.0.2" trong ứng dụng của bạn tập tin build

+0

Trong dự án thư viện của tôi (R2 nhập khẩu) nhận xét này đã giúp tôi: https://github.com/JakeWharton/butterknife/issues/963#issuecomment-342547601 – norbDEV

0

dường như vấn đề mà không có trong app/build.gradle, nhưng trong butterknife-gradle-plugin

giải quyết bằng cách loại bỏ butterknife-gradle-plugin

0

Dựa trên ElliotM của câu trả lời:

  • Kotlin 1.2.10
  • Gradle 3.0.1
  • công cụ xây dựng phiên bản 27.0.3
  • áp dụng plugin: 'com.android.library'
  • áp dụng plugin:
  • áp dụng plugin 'Kotlin-android-phần mở rộng': 'Kotlin-android '
  • áp dụng plugin: 'com.jakewharton.butterknife'

Trong dự án thư viện của tôi nhận xét này đã giúp tôi (nhập khẩu R2): https://github.com/JakeWharton/butterknife/issues/963#issuecomment-342547601

xây dựng của dự án.gradle:

buildscript { 
    repositories { 
     maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
     google() 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT' 
    } 
} 

repositories { 
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
} 

mô-đun của build.gradle:

apply plugin: 'com.jakewharton.butterknife' 

... 

dependencies { 
    compile 'com.jakewharton:butterknife:9.0.0-SNAPSHOT' 
    kapt 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT' 
} 

Bằng cách này bạn có thể sử dụng

apply plugin: 'com.jakewharton.butterknife' 
Các vấn đề liên quan