Ошибка сборки 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