2014-03-12 145 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" 持續行