我最近开始使用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')
}
}
答案 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"
最后一行