错误:导致android.compileSdkVersion丢失

时间:2014-03-12 05:48:39

标签: android android-studio android-gradle

我最近开始使用Android Studio。当我与gradle同步时,它会给我一个错误。

  

错误:原因:缺少android.compileSdkVersion!

伙计们可能是什么原因,我已经安装了相同的compileSDKVersion和构建工具。我看到许多线程说要确认你的系统中安装了相同的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

4 个答案:

答案 0 :(得分:13)

我也遇到了这个问题,但我不知道我的解决方案是否适合你。 我只是改变了这个脚本的位置:apply from: 'maven_push.gradle'到build.gradle文件的底部,并且BUILD SUCCESSFUL!

我在这里发布我的答案,你可以尝试一下:Building Android Studio project on Jenkins? android.compileSdkVersion is missing

答案 1 :(得分:3)

我这样做了。它适用于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'
}

答案 2 :(得分:3)

如果缺少某些内容,并且您已明确声明它,则表示在定义之前已对其进行了查询。将查询(需要该变量的代码)移动到较低的位置,或移动到序列中的稍后位置,它将被修复。

答案 3 :(得分:-1)

试试这个:

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

移动您的申请:"${rootDir}/android_common.gradle" 最后一行