Thomas Vos Thomas Vos - 1 year ago 146
Android Question

Cannot compile with Firebase Performance. (Unable to find method...)

I'm trying to add Firebase Performance Monitoring to my Android Studio project. After I followed the steps on how to add it to my app, I cannot compile my app. This is the error:


Error:(1, 0) Unable to find method 'com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V'.

Possible causes for this unexpected error include:


  • Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
    Re-download dependencies and sync project (requires network)

  • The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
    Stop Gradle build processes (requires restart)

  • Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.



In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.


Project 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'

Answer Source

You probably had firebase in your buildscript dependencies.

The problem was that I had firebase in my buildscript dependencies, so it looked something like this:

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
        ....
    }
}

replacing the firebase classpath line with this:

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

Then you have to clean the project, kill the gradle daemon and restart android studio.

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

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download