【问题标题】:Build script error, unsupported Gradle DSL method found: 'release()'!构建脚本错误,发现不受支持的 Gradle DSL 方法:'release()'!
【发布时间】:2014-03-07 17:46:10
【问题描述】:

我在我的 gradle 包装器中使用 Android Studio 0.50 版本和 gradle 1.11-all。我有 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')
}
}

项目根 build.grade

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 线程中提到,但没有运气。我错过了什么吗?

【问题讨论】:

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


    【解决方案1】:

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

    库项目的 DSL 现在与应用程序项目的 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 现在与应用程序项目的 DSL 相同

      特别是您必须将 release 块放在 buildTypes 中。

      android {
          buildTypes {
              debug {
              }
              release {
              }
          }
      

      【讨论】:

        【解决方案3】:

        您没有迁移模块 2 gradle。 release 必须在 gradle 0.9 的 buildTypes 部分内(这是 studio 0.5 的默认设置)。这里有一个迁移指南:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-18
          • 1970-01-01
          • 2014-09-03
          • 1970-01-01
          • 1970-01-01
          • 2014-09-21
          相关资源
          最近更新 更多