java - 错误 :(134, 0) 无法获取 org.gradle.api.internal.FactoryNamedDomainObjectContainer 类型的 SigningConfig 容器的未知属性 'release'。

标签 java android

我正在尝试修改 android studio 中的开源代码,但我不断收到错误:(134, 0) 无法获取 org.gradle.api.internal.FactoryNamedDomainObjectContainer 类型的 SigningConfig 容器的未知属性“release” 。有谁知道代码有什么问题吗? 下面发布了 build.gradle 文件中的代码。

//apply plugin: 'idea'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {

    // Create a variable called keystorePropertiesFile, and initialize it to your
    // keystore.properties file, in the rootProject folder.
    def keystorePropertiesFile = rootProject.file("keystore.properties")
    if (keystorePropertiesFile.exists()) {
        Properties keystoreProperties = new Properties();
        keystoreProperties.load(new FileInputStream(keystorePropertiesFile))



    compileSdkVersion 27
    buildToolsVersion "$supportLibraryVersion"
    defaultConfig {
        applicationId "org.bottiger.podcast"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 424        // even - release. Odd - development
        versionName "0.160.2" // even - release. Odd - development
        multiDexEnabled = true

        vectorDrawables.useSupportLibrary = true

        // Espresso
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        externalNativeBuild {
            cmake {
                cppFlags "-std=c++11"
                arguments '-DANDROID_PLATFORM=android-16', '-DANDROID_TOOLCHAIN=clang'
            }
        }
    }
    dataBinding {
        enabled = true
    }
    // Point Gradle at the directory where you want to root all of your native code
    // There is a default directory but I prefer to control which directories to use
    // and there will be a point later where keeping control over this is important
    sourceSets.main {
        jni.srcDirs = ["src/main/jni"];
        java.srcDirs += 'src/main/kotlin'

    }
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'LICENSE.txt'
        exclude 'META-INF/rxjava.properties'
    }

    flavorDimensions "default"

    productFlavors {

        dev {
            // To avoid using legacy multidex when building from the command line,
            // set minSdkVersion to 21 or higher. When using Android Studio 2.3 or higher,
            // the build automatically avoids legacy multidex when deploying to a device running
            // API level 21 or higher—regardless of what you set as your minSdkVersion.
            minSdkVersion 21
            versionNameSuffix "-dev"
            //applicationIdSuffix '.dev'

            // The following configuration limits the "dev" flavor to using
            // English stringresources and xxhdpi screen-density resources.
            resConfigs "en", "xxhdpi"

            buildConfigField "boolean", "DEV_MODE", "true"
            buildConfigField "boolean", "PRIVATE_MODE", "false"
            buildConfigField "boolean", "LIBRE_MODE", "false"

            dimension "default"
        }

        free {
            ndk {
                abiFilters "armeabi-v7a", "x86"
            }

            buildConfigField "boolean", "DEV_MODE", "false"
            buildConfigField "boolean", "PRIVATE_MODE", "true"
            buildConfigField "boolean", "LIBRE_MODE", "true"

            dimension "default"
        }

        google {
            buildConfigField "boolean", "DEV_MODE", "false"
            buildConfigField "boolean", "PRIVATE_MODE", "false"
            buildConfigField "boolean", "LIBRE_MODE", "false"

            dimension "default"
        }

        amazon {
            buildConfigField "boolean", "DEV_MODE", "false"
            buildConfigField "boolean", "PRIVATE_MODE", "false"
            buildConfigField "boolean", "LIBRE_MODE", "false"

            dimension "default"
        }
    }

        signingConfigs {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
        android.buildTypes.release.signingConfig = signingConfigs.release
    } else  {
        android.buildTypes.release.signingConfig = null
    }


    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release


        }
    }
    // http://stackoverflow.com/questions/22851103/android-studio-gradle-error-multiple-dex-files-define
    dexOptions {
        preDexLibraries true
        maxProcessCount 8
        javaMaxHeapSize "2g"
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    // Encapsulates your external native build configurations.
    externalNativeBuild {

        // Encapsulates your CMake build configurations.
        cmake {
            // Provides a relative path to your CMake build script.
            path "src/main/cpp/CMakeLists.txt"
        }
    }
}

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:multidex:1.0.2'

    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    compile "com.android.support:support-v4:$supportLibraryVersion"
    compile "com.android.support:appcompat-v7:$supportLibraryVersion"
    compile "com.android.support:recyclerview-v7:$supportLibraryVersion"
    compile "com.android.support:palette-v7:$supportLibraryVersion"
    compile "com.android.support:cardview-v7:$supportLibraryVersion"
    compile "com.android.support:mediarouter-v7:$supportLibraryVersion"
    compile "com.android.support:design:$supportLibraryVersion"
    compile "com.android.support:percent:$supportLibraryVersion"

    compile "android.arch.lifecycle:runtime:$architectureComponentsVersion"
    compile "android.arch.lifecycle:extensions:$architectureComponentsVersion"
    compile "android.arch.lifecycle:reactivestreams:$architectureComponentsVersion"
    annotationProcessor "android.arch.lifecycle:compiler:$architectureComponentsVersion"
    compile "android.arch.persistence.room:runtime:$architectureComponentsVersion"
    annotationProcessor "android.arch.persistence.room:compiler:$architectureComponentsVersion"
    compile "android.arch.persistence.room:rxjava2:$architectureComponentsVersion"

    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    compile "com.squareup.okhttp3:okhttp:$okhttp_version"
    compile 'com.squareup.retrofit2:retrofit:2.2.0'
    compile 'com.squareup.retrofit2:converter-gson:2.2.0'
    compile('com.googlecode.json-simple:json-simple:1.1.1') {
        exclude module: 'junit'
    }
    //compile 'com.google.apis:google-api-services-drive:+'
    compile 'io.reactivex:rxandroid:1.2.1'
    compile 'io.reactivex:rxjava:1.3.0'

    compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    compile 'io.reactivex.rxjava2:rxjava:2.1.8'

    compile 'io.requery:sqlite-android:3.20.0'
    compile 'com.google.android.exoplayer:exoplayer:2.6.1'
    compile('com.wdullaer:materialdatetimepicker:3.1.1') {
        exclude group: 'com.android.support'
    }

    // Glide
    compile "com.github.bumptech.glide:glide:$glide_version"
    compile "com.github.bumptech.glide:okhttp3-integration:$glide_version"
    compile "com.github.bumptech.glide:compiler:$glide_version"
    compile "com.github.bumptech.glide:recyclerview-integration:$glide_version"
    annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"

    compile 'net.steamcrafted:materialiconlib:1.1.2'
    compile 'org.whispersystems:libpastelog:1.0.7'
    compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
    compile 'com.google.http-client:google-http-client-gson:1.22.0'

    compile 'jp.wasabeef:recyclerview-animators:2.2.6'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.8.6'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.bugsnag:bugsnag-android:3.8.0'
    compile 'com.journeyapps:zxing-android-embedded:3.4.0'
    compile 'com.heinrichreimersoftware:material-intro:1.6.2'
    compile 'com.dmitrymalkovich.android:material-design-dimens:1.4'
    compile 'com.github.daniel-stoneuk:material-about-library:2.2.3-support26.1.0'
    compile 'org.unbescape:unbescape:1.1.4.RELEASE'
    compile 'com.google.dagger:dagger:2.10'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.10'

    compile project(':armv7-fmmr')
    // For testing only
    testCompile 'junit:junit:4.12'
    testCompile 'org.mockito:mockito-core:2.7.19'
    testCompile("android.arch.persistence.room:testing:$architectureComponentsVersion") {
        exclude group: 'com.android.support'
        exclude group: 'com.google.code.gson'
    }

    configurations.all {
        resolutionStrategy.force "com.android.support:support-annotations:$supportLibraryVersion"
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1'

        exclude group: "org.apache.httpcomponents", module: "httpclient"
    }
    // Espresso
    // https://developer.android.com/training/testing/ui-testing/espresso-testing.html
    androidTestCompile 'com.android.support.test:runner:1.0.1'
    androidTestCompile 'com.android.support.test:rules:1.0.1'
    androidTestCompile 'com.jakewharton.espresso:okhttp3-idling-resource:1.0.0'
    androidTestCompile "com.squareup.okhttp3:okhttp:$okhttp_version"
    androidTestCompile("com.android.support.test.espresso:espresso-contrib:$espressoVersion") {
        exclude group: 'com.android.support'
    }
    androidTestCompile("com.android.support.test.espresso:espresso-core:$espressoVersion") {
        exclude group: 'com.android.support', module: 'support-annotations'
    }
    // Free version
    // Amazon version
    amazonCompile fileTree(dir: 'src/amazon/libs', include: ['*.jar'])
    amazonCompile "com.google.android.gms:play-services-cast:$playServicesVersion"
    amazonCompile "com.google.android.gms:play-services-cast-framework:$playServicesVersion"
    amazonCompile "com.google.android.gms:play-services-auth:$playServicesVersion"
    amazonCompile "com.google.android.gms:play-services-location:$playServicesVersion"
    amazonCompile "com.google.firebase:firebase-messaging:$playServicesVersion"
    // google cast
    // Play Store
    googleCompile "com.google.android.gms:play-services-analytics:$playServicesVersion"
    // analytics
    googleCompile "com.google.android.gms:play-services-cast:$playServicesVersion"
    googleCompile "com.google.android.gms:play-services-cast-framework:$playServicesVersion"
    googleCompile "com.google.android.gms:play-services-auth:$playServicesVersion"
    googleCompile "com.google.android.gms:play-services-location:$playServicesVersion"
    googleCompile "com.google.firebase:firebase-core:$playServicesVersion"
    googleCompile "com.google.firebase:firebase-messaging:$playServicesVersion"
    googleCompile "com.google.firebase:firebase-database:$playServicesVersion"
    // google cast
    compile project(':soundwavescommon')
}

apply plugin: 'com.google.gms.google-services'

最佳答案

我也遇到了同样的问题。 就我而言,我只是将 signingConfigs{} 放置在 buildTypes{}

之上
signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }

buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }

关于java - 错误 :(134, 0) 无法获取 org.gradle.api.internal.FactoryNamedDomainObjectContainer 类型的 SigningConfig 容器的未知属性 'release'。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48964093/

相关文章:

android - 第一次安装 .apk 时如何启动服务

java - 如何在 Linux 上设置 JavaPOS?

java - 负向后查找中的字范围或\w

java - 为什么未选中 android.database.SQLException?

android - 为什么 gradle plugin 3.3.0 不想构建 google-services?

android - MvvmCross Show(intent) 不再可用

android - 在安卓中寻找磁铁

java - 如何在Java 8中按流对Map对象上的时间段求和对象?

java.lang.NoClassDefFoundError 将数据集保存在文件中

java - native 查询产生 MySQL 语法错误和意外结果