无法使用Firebase Performance进行编译。 (无法找到方法......)

时间:2017-07-27 14:29:44

标签: android firebase gradle firebase-performance

我试图将Firebase Performance Monitoring添加到我的Android Studio项目中。在我按照如何将其添加到我的应用程序的步骤后,我无法编译我的应用程序。这是错误:

  

错误:(1,0)无法找到方法' com.google.common.base.Preconditions.checkArgument(ZLjava / lang / String; Ljava / lang / Object; Ljava / lang / Object; Ljava /郎/对象; Ljava /郎/对象;)V&#39 ;.
  此意外错误的可能原因包括:

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

如果Gradle进程损坏,您还可以尝试关闭IDE,然后终止所有Java进程。

项目build.gradle:

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

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha7'
        classpath 'com.google.gms:google-services:3.1.0'
        classpath 'com.google.firebase:firebase-plugins:1.1.0'

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

allprojects {
    repositories {
        jcenter()
        google()
        maven {
            url "https://jitpack.io"
        }
    }
}

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

// Define versions in a single place
ext {
    // Sdk and tools
    minSdkVersion = 16
    targetSdkVersion = 26
    compileSdkVersion = 26
    buildToolsVersion = '26.0.0'

    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

    // Version
    versionCode = 1;
    versionName = "0.0.1";

    ...

    // Firebase
    firebaseVersion = '11.0.2'

    ...
}

App build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId "REMOVED"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode rootProject.ext.versionCode
        versionName rootProject.ext.versionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        vectorDrawables.useSupportLibrary = true
        dataBinding.enabled = true
    }
    compileOptions {
        sourceCompatibility = rootProject.ext.sourceCompatibility
        targetCompatibility = rootProject.ext.targetCompatibility
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    ...

    // Firebase
    compile "com.google.firebase:firebase-core:$rootProject.firebaseVersion"
    compile "com.google.firebase:firebase-perf:$rootProject.firebaseVersion"

    ...
}

apply plugin: 'com.google.gms.google-services'

1 个答案:

答案 0 :(得分:2)

你的buildcript依赖项中可能有firebase。

问题是我在我的buildscript依赖项中有firebase,所以它看起来像这样:

buildscript {
    ext.kotlin_version = '1.1.3-2'
    apply from: 'dependencies.gradle'
    repositories {
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha6'
        classpath ('com.google.firebase:firebase-plugins:1.1.0') //the firebase line
        ....
    }
}

用以下代码替换firebase类路径:

classpath ('com.google.firebase:firebase-plugins:1.1.0') {
    exclude group: 'com.google.guava', module: 'guava-jdk5'
}

然后你必须清理项目,杀死gradle守护进程并重启android studio。

Unable to find method (can't compile project) after gradle update