构建脚本错误,发现不支持的Gradle DSL方法:'release()'!

时间:2014-03-07 17:46:11

标签: android android-studio android-gradle build.gradle

我正在使用Android studio 0.50版本和gradle 1.11-all在我的gradle包装器中。我有3个模块,以下是build.gradle文件。

第1单元

apply plugin: 'android'
apply plugin: 'android-test'

android {
compileSdkVersion 19
buildToolsVersion '19.0.1'

packagingOptions {
    exclude 'META-INF/ASL2.0'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/NOTICE'
}

defaultConfig {
    minSdkVersion 10
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

sourceSets {
    androidTest.setRoot('src/test')

}
}

第2单元

apply plugin: 'android-library'
apply plugin: 'android-test'

android {
compileSdkVersion 19
buildToolsVersion "19.0.1"

defaultConfig {
    minSdkVersion 10
    targetSdkVersion 16
    versionCode 1
    versionName "1.0"
}
release {
    runProguard false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
sourceSets {
    instrumentTest.setRoot('src/test')
}
}

项目root build.gralde

buildscript {
repositories {
    mavenCentral()
    mavenLocal()
    maven {
        url 'https://oss.sonatype.org/content/repositories/snapshots/'
    }
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.9.+'
    classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.1-SNAPSHOT'
    classpath 'com.nineoldandroids:library:2.4.0'
}
}

allprojects {
repositories {
    mavenCentral()
    mavenLocal()
    maven {
        url 'https://oss.sonatype.org/content/repositories/snapshots/'
    }
}
}

很抱歉这个很长的问题,我尝试删除this帖子中提到的包装选项,但没有运气。我错过了什么吗?

3 个答案:

答案 0 :(得分:7)

根据Migrating to Gradle 0.9 guide(因为Android Studio 0.5.0需要Gradle 0.9):

  

图书馆项目的DSL现在与应用项目相同。这意味着您可以创建更多构建类型,并创建风格。

因此

android {
    debug {
    }
    release {
    }
    debugSigningConfig {
    }
}

变为

android {
    buildTypes {
        debug {
        }
        release {
        }
    }
    signingConfigs {
        debug {
        }
    }
}

答案 1 :(得分:2)

如下所述:

http://tools.android.com/tech-docs/new-build-system/migrating_to_09

图书馆项目的DSL现在与应用程序项目的相同

具体而言,您必须将发布块放在 buildTypes 中。

android {
    buildTypes {
        debug {
        }
        release {
        }
    }

答案 2 :(得分:1)

您没有迁移Module 2 gradle。 release必须位于gradle 0.9中的buildTypes部分内(这是工作室0.5的默认值)。这里有一个迁移指南:

http://tools.android.com/tech-docs/new-build-system/migrating_to_09

相关问题