Ошибка сборки script, неподдерживаемый Gradle Метод DSL найден: 'release()'!

Я использую версию для 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/'
    }
}
}

Извините за длинный вопрос, я попытался удалить варианты упаковки и упомянул в этой нить, но не повезло. Я что-то пропустил?

Ответы

Ответ 1

В Переход к Gradle 0.9 guide (для Android Studio 0.5.0 требуется Gradle 0.9):

DSL для проектов библиотеки теперь те же, что и для проектов приложений. Это означает, что вы можете создавать больше типов сборки и создавать ароматы.

Поэтому

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

становится

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

Ответ 2

Как описано здесь:

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

DSL для проектов библиотеки теперь те же, что и для проектов приложений

В частности, вы должны поместить блок release внутри buildTypes.

android {
    buildTypes {
        debug {
        }
        release {
        }
    }

Ответ 3

Вы не перенесли модуль 2 gradle. release должен находиться внутри раздела buildTypes в gradle 0.9 (по умолчанию для студии 0.5). Здесь есть руководство по миграции:

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