web-dev-qa-db-ja.com

ビルドスクリプトエラー、サポートされていないGradle DSLメソッドが見つかりました: 'release()'!

Android studio0.50リリースとgradle1.11-すべてを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')
}
}

プロジェクトルート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 スレッドで言及しましたが、うまくいきませんでした。私は何かが足りませんか?

15
sanath01

Gradle 0.9ガイドへの移行 (Android Studio 0.5.0)にはGradle 0.9が必要であるため):

ライブラリプロジェクトのDSLは、アプリケーションプロジェクトのDSLと同じになりました。これは、より多くのビルドタイプを作成し、フレーバーを作成できることを意味します。

したがって、

Android {
    debug {
    }
    release {
    }
    debugSigningConfig {
    }
}

になります

Android {
    buildTypes {
        debug {
        }
        release {
        }
    }
    signingConfigs {
        debug {
        }
    }
}
7
ianhanniballake

ここで説明されているように:

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

ライブラリプロジェクトのDSLは、アプリケーションプロジェクトのDSLと同じになりました

特に、releaseブロックをbuildTypes内に配置する必要があります。

Android {
    buildTypes {
        debug {
        }
        release {
        }
    }
2

モジュール2のgradleを移行しませんでした。 releaseは、gradle0.9のbuildTypesセクション内にある必要があります(スタジオ0.5のデフォルト)。ここに移行ガイドがあります:

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

1
gruszczy