【问题标题】:com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'
【发布时间】:2017-11-20 07:00:50
【问题描述】:

错误:无法找到方法“com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;”。 此意外错误的可能原因包括:

  • Gradle 的依赖缓存可能已损坏(这有时会在网络连接超时后发生。) 重新下载依赖并同步项目(需要网络)
  • Gradle 构建过程(守护程序)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。 停止 Gradle 构建过程(需要重新启动)
  • 您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。
在 Gradle 进程损坏的情况下,也可以尝试关闭 IDE,然后杀死所有 Java 进程。

在Android studio 3.0 上解决这个问题,使用JakeWharton 大神butterknife。请问这个问题怎么处理,这个在Android studio 2.3上是没有问题的。可能是我用错了方式,请指教,原来用的是8.5.1版本,报错,我升级到8.6.0,发现问题解决不了。

  buildscript {
        repositories {
            jcenter()
            mavenCentral()
            maven {
                url "https://jitpack.io"
            }
            maven {
                url 'https://maven.google.com'
            }
            maven {
                url 'https://dl.google.com/dl/android/maven2/'
            }
        }

        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.0-alpha4' 
            classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
            classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1+'
            classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0' 
            classpath ("com.tencent.mm:AndResGuard-gradle-plugin:1.2.3") { changing=true } 
           classpath 'com.letv.sarrsdesktop:BlockCanaryExPlugin:0.9.8.3'
        }
    }

    allprojects {
        repositories {
            jcenter()
            mavenCentral()
            maven {
                url "https://jitpack.io"
            }
            maven {
                url 'http://www.idescout.com/maven/repo/'
            }
            maven {
                url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories"
            }
            maven {
                url 'https://maven.google.com'
            }
            maven {
                url 'https://dl.google.com/dl/android/maven2/'
            }
        }

    }


    configurations {
        all*.exclude group: 'com.android.support', module: 'support-v4'
    }

    task printProps << {
        println commandLineProjectProp
        println gradlePropertiesProp
        println systemProjectProp
        println envProjectProp
        println System.properties['system']
    }






apply plugin: 'com.android.application'
//butterknife
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'com.jakewharton.butterknife'


/**
 * library
 */
dependencies {
      compile 'com.jakewharton:butterknife:8.6.0+'
      apt 'com.jakewharton:butterknife-compiler:8.6.0+'
}

【问题讨论】:

标签: android


【解决方案1】:

将 butterknife-gradle-plugin 降级到 8.4 或使用 9.0 快照。

【讨论】:

    【解决方案2】:
    • Kotlin 1.2.10
    • Gradle 3.0.1
    • 构建工具版本 27.0.3
    • 应用插件:'com.android.library'
    • 应用插件:'kotlin-android-extensions'
    • 应用插件:'kotlin-android'
    • 应用插件:'com.jakewharton.butterknife'

    在我的图书馆项目中,这条评论帮助了我(R2 导入): https://github.com/JakeWharton/butterknife/issues/963#issuecomment-342547601

    项目的 build.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" }
    }
    

    模块的 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'
    }
    

    这样你就可以使用

    apply plugin: 'com.jakewharton.butterknife'
    

    【讨论】:

    • 谢谢。已经解决了。
    【解决方案3】:

    只需删除

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

    butterknifeversion 降级为8.4.0

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

    不要忘记删除下面的行

    apply plugin: 'me.tatarka.retrolambda'

    【讨论】:

    • 谢谢。已经解决了。
    猜你喜欢
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多