2014-03-12 74 views
12

我最近开始在Android Studio上工作。当我与Gradle同步时,它会给我一个错误。错误:导致android.compileSdkVersion丢失

错误:原因: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

+0

你在根/或的build.gradle根/的HelloWorld /插入的build.gradle compileSdkVersion? –

+0

不,它是这样的http://pastebin.com/PfXhT2ae如果这是必需的,那么Android Studio会添加这个 –

回答

3

我这样做。它适用于Android的工作室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' 
} 
+0

这个答案可能需要更新。它适用于Android Studio的旧版本,仅列出代码并且没有解释。我会看看我能做什么 –

3

如果缺少了什么,你已经清楚地宣布它,这意味着它被定义之前,它被查询。将查询(需要该变量的代码)移到较低的位置,或者移到序列中稍后的位置,它将被修复。

-1

试试这个:

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

移动你的应用来自:"${rootDir}/android_common.gradle" 持续行