Подтвердить что ты не робот

Ошибка: причина отсутствия android.compileSdkVersion

Недавно я начал работать над Android Studio. Когда я выполняю синхронизацию с gradle, это приводит к ошибке.

Ошибка: причина: отсутствует android.compileSdkVersion!

Ребята, что может быть причиной этого, у меня уже есть тот же инструмент компиляцииSDKVersion и build. Я вижу много потоков, которые говорят, чтобы подтвердить, что у вас установлена ​​одна и та же версия sdk в вашей системе, но в моем случае она уже установлена.

build.gradle

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    sourceSets {
        instrumentTest.setRoot('src/test')
    }
}

enter image description here

enter image description here

4b9b3361

Ответ 1

Я тоже встретил эту проблему, но я не знаю, подходит ли мое решение для вас. Я просто изменяю положение этого script: apply from: 'maven_push.gradle' донизу в файле build.gradle и BUILD SUCCESSFUL!

Опубликую свой ответ здесь, вы можете попробовать: Строительство проекта Android Studio на Jenkins? android.compileSdkVersion отсутствует

Ответ 2

Я сделал это. Он работает на Android Studio 0.4.6:

/android_common.gradle

android {
compileSdkVersion 19
buildToolsVersion "19.0.1"

defaultConfig {
    minSdkVersion 19
    targetSdkVersion 19
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}
}

/build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
    mavenLocal()
    mavenCentral()
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.8.+'
    classpath 'com.github.jcandksolutions.gradle:android-unit-test:+'
}

allprojects {

    apply plugin: 'idea'

    repositories {
        mavenCentral()
        mavenLocal()
        maven {
            url 'https://oss.sonatype.org/content/repositories/snapshots/'
        }
    }
}
}

   def langLevel = 1.7

idea {
project {
    jdkName = langLevel
    languageLevel = langLevel
}
  }

/app/build.gradle

apply plugin: 'android'
apply from: "${rootDir}/android_common.gradle"

android {
defaultConfig {
    versionCode 1
    versionName "1.0"
    packageName "your.app.package.name"
}

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
    compile 'com.squareup.dagger:dagger:1.2.1'
    compile 'com.squareup.dagger:dagger-compiler:1.2.1'
    compile 'com.j256.ormlite:ormlite-android:4.+'
    compile 'joda-time:joda-time:2.+'
}

sourceSets {
    instrumentTest.setRoot('src/test')
}
}

apply plugin: 'android-unit-test'

dependencies {
instrumentTestCompile 'junit:junit:4.+'
instrumentTestCompile 'org.robolectric:robolectric:2.3-SNAPSHOT'
testCompile 'junit:junit:4.+'
testCompile 'org.robolectric:robolectric:2.3-SNAPSHOT'
}

Ответ 3

Если что-то отсутствует, и вы четко его объявили, это значит, что он был запрошен до того, как он был определен. Переместите запрос (код, требующий этой переменной) где-нибудь ниже, или в более позднюю позицию в последовательности, и он будет исправлен.

Ответ 4

попробуйте следующее:

apply plugin: 'android'
apply from: "${rootDir}/android_common.gradle"

отмените заявку: "${rootDir}/android_common.gradle" для последних строк