安卓Gradle签名配置错误

50

我尝试像这个链接所示的方式对我的应用进行签名。 我编写了我的 signingConfigs 设置,但是出现了“找不到属性”错误。

这是我的 build.gradle 文件。

apply plugin: 'android'

    android {
        compileSdkVersion 19
        buildToolsVersion '19.0.3'
        defaultConfig {
            minSdkVersion 11
            targetSdkVersion 19
            versionCode 1
            versionName "Andy Warhol"
        }
        buildTypes {
            debug {
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
                debuggable false
                jniDebugBuild false
                signingConfig signingConfigs.myconfig
            }
            release {
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
                debuggable false
                jniDebugBuild false
            }
        }
        signingConfigs {
            myconfig {
                keyAlias 'xxx'
                keyPassword 'xxx'
                storeFile file('xxx')
                storePassword 'xxx'
            }
        }
    }

    dependencies {
        compile 'com.android.support:appcompat-v7:+'
        compile 'com.google.android.gms:play-services:4.0.30'
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile files('libs/picasso-2.2.0.jar')
        compile files('libs/acra-4.5.0.jar')
        compile files('libs/libGoogleAnalyticsServices.jar')
    }

这是我的错误

Gradle 'BulentTirasMobileApp' 项目刷新失败: 在 SigningConfig 容器中找不到 'myconfig' 属性。

2个回答

140
将您的signingConfigs块移动到buildTypes块之前:
    signingConfigs {
        myconfig {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('xxx')
            storePassword 'xxx'
        }
    }
    buildTypes {
        debug {
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            debuggable false
            jniDebugBuild false
            signingConfig signingConfigs.myconfig
        }
        release {
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            debuggable false
            jniDebugBuild false
        }
    }

在使用之前,您需要定义配置。


0
在我的情况下,手动将“signingConfigs”移至“buildTypes”上方并没有起作用,反而产生了另一个错误。因此,我删除了整个“signingConfigs”部分,并通过“文件”>“项目结构”->“签名配置”生成了“signingConfigs”。

'SigningConfigs' in 'Project Structure'

它自动生成了“signingConfigs”,错误消失了。它将“signingConfigs”放置在下面的图片中。

build.gradle(app)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接