Ошибка: причина отсутствия 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]()
Ответы
Ответ 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"
для последних строк