Ошибка: причина: buildToolsVersion не указан в build.grade (проект:xxx)

В данный момент я пытаюсь интегрировать Fabric с Crashlytics ( https://docs.fabric.io/android/fabric/integration.html) в существующее приложение для Android.

Следуя инструкциям по интеграции, предоставленным Fabric, я добавляю apply plugin: 'com.android.application' в корневой каталог моего файла "build.grade (Project.NumenuApp)". Я нажимаю, чтобы синхронизировать Gradle, он не работает, и я получаю эту ошибку Error:Cause: buildToolsVersion is not specified. Студия Android заявляет, что мои плагины должны быть объявлены на уровне модуля, а не на уровне проекта.

У меня уже есть набор buildTools в файле "build.grade (Module:app)". Мой вопрос: почему это происходит и что я могу сделать, чтобы это исправить? Я разместил свой код ниже. Заранее спасибо. - Адриан

build.grade (проект: NumenuApp)

// 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.5.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
}

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

build.grade (модуль: приложение)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.numenu.numenuapp"
    minSdkVersion 21
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.android.support:recyclerview-v7:23.1.1'
}

3 ответа

Решение

Вы должны удалить эти строки из вашего build.gradle (Project:NumenuApp), Вы используете неправильный файл для применения плагинов.

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

Также переместите эти строки в свой build.gradle (Module:app)

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

Это мое build.gradle(Module:app) файл, и у меня есть рабочий CrashLytics, и у меня нет ничего, связанного с тканями в моем project.gradle

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

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

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

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

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.ws.cs"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
        packagingOptions {
            exclude "/lib/arm64-v8a/librealm-jni.so"
        }
    }


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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.code.gson:gson:2.2.2'
    compile 'io.realm:realm-android:0.82.1'
    compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true;
    }


}

Пожалуйста, проверьте эту строку в вашем приложении.

buildToolsVersion "25.0.3"

пример

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "kc.care.task"
        minSdkVersion 20
        targetSdkVersion 25
        versionCode 23
        versionName "3.7"
        multiDexEnabled = true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
Другие вопросы по тегам