Crashlytics错误:(11,0)带有id' io.fabric'的插件找不到编译库

时间:2014-12-20 12:29:55

标签: crashlytics

我收到了错误,

  

错误:(11,0)带有id' io.fabric'的插件找不到

尝试在我的项目上运行crashlytics时。

6 个答案:

答案 0 :(得分:26)

我遇到同样的问题,试图在Android工作室使用Fabric插件(通过插件自动生成代码)。I followed this documentation also.

最后,我可以看到build.gradle中有一些错过的行。

所以这是顶级项目build.gradle

 // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            jcenter()
            maven { url 'https://maven.fabric.io/public' }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.2.3'
            classpath 'io.fabric.tools:gradle:1.+'
        }
    }
apply plugin: 'java'
    allprojects {
        repositories {
            jcenter()
            maven { url 'https://maven.fabric.io/public' }
        }
    }

这是app模块的build.gradle

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

    android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "your application package name"
        minSdkVersion 10
        targetSdkVersion 22
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.android.support:support-v4:22.0.0'
    testCompile 'junit:junit:4.12'
    testCompile "org.mockito:mockito-core:1.9.5"
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }
}

最后"清洁构建"一切都是为我而定的。

答案 1 :(得分:12)

我最终创建了一个空项目并在其上使用插件然后我比较了gradle文件并意识到这没有被添加

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}

答案 2 :(得分:5)

项目gradle文件中的

buildscript {
        repositories {
            jcenter()
            maven { url 'https://maven.fabric.io/public' }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.2.3'
            classpath 'io.fabric.tools:gradle:1.+'
        }
    }
apply plugin: 'java'
    allprojects {
        repositories {
            jcenter()
            maven { url 'https://maven.fabric.io/public' }
        }
    }

在你的app gradle文件中:

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

    android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "your application package name"
        minSdkVersion 10
        targetSdkVersion 22
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.android.support:support-v4:22.0.0'
    testCompile 'junit:junit:4.12'
    testCompile "org.mockito:mockito-core:1.9.5"
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }
}

答案 3 :(得分:1)

您只是忘记在项目级gradle文件中添加以下提到的行。

maven { url 'https://maven.fabric.io/public' }

还请在依赖项中添加以下提到的行(在项目级别的gradle文件中)

classpath 'io.fabric.tools:gradle:1.26.1'

答案 4 :(得分:1)

我认为您在构建脚本的存储库中丢失了“ google()”。

buildscript {
    repositories {
        jcenter()
        google()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

答案 5 :(得分:-1)

在使用Android + Cordova + Angularjs Hybrid项目时,我遇到了这个问题。

apply plugin: 'io.fabric'

通过在/app/build.gradle路径处注释此行,可以解决此问题。

希望它对某人有帮助!