Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal

问题描述

编译的时候出现如下异常提示:

Could not get unknown property 'release' for SigningConfig container of type
 org.gradle.api.internal.FactoryNamedDomainObjectContainer.

原因:

在主module下的buildTypes{}中使用使用了signingConfig signingConfigs.release,但是由于粗心,将signingConfigs{}放到了buildType{}的后面,导致编译的时候无法找到,当然还有一种可能,那就是signingConfigs{}中真的没有声明release这个属性.

解决如下,编译通过

1、检查是否有signingConfigs {}。

2、将signingConfigs{} 放在 buildTypes{}的前面即可

signingConfigs {

        debug{
            storeFile file('xxx')
            storePassword '***'
            keyAlias 'xxx'
            keyPassword '***'
        }

        release {
            storeFile file('xxx')
            storePassword '***'
            keyAlias 'xxx'
            keyPassword '***'
        }

    }

    buildTypes {
        debug {
            //启用代码混淆
            minifyEnabled true
            //混淆规则配置文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            //
            signingConfig signingConfigs.debug
        }

        release {
            //是否优化zip
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources true
            //启用代码混淆
            minifyEnabled true
            //混淆规则配置文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            //
            signingConfig signingConfigs.release
        }
    }

你可能感兴趣的:(Android中遇到的那些问题)