Ошибка: причина: 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
}