2017-07-27 47 views
-1

我試圖將Firebase Performance Monitoring添加到我的Android Studio項目中。在我按照如何將其添加到我的應用程序的步驟後,我無法編譯我的應用程序。這是錯誤:無法使用Firebase性能進行編譯。 (無法找到方法...)

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.

項目的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' 

    ... 
} 

應用的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' 
+0

嘗試清潔和改造項目 –

+0

@MartinDeSimone剛試過清潔工程,它給了同樣的錯誤:'錯誤:(1,1)時出現問題評估項目「:應用程序」。 > com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String; Ljava/lang/Object; Ljava/lang/Object; Ljava/lang/Object; Ljava/lang/Object;)V' –

+0

但沒有我的意思是圖書館 –

回答

2

你可能在你的buildscript依賴火力了。

的問題是,我在buildscript依賴了火力點,所以它看起來是這樣的:

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

與此更換火力類路徑線:

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

+0

這是完成,在我之前我的移動設備上,所以它不容易 –