签名时出错apk:无法找到

时间:2015-11-15 13:16:25

标签: android gradle signing

Gradle说它无法找到用于签署apk的'signingConfig()'方法。

它还列出了可能的原因:

1)项目可能正在使用不包含它的gradle版本。

2)构建文件可能缺少Gradle插件。

这是我的grade.build

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

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "happy.blumental.maxim.testproject"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

signingConfigs {
    release {
        keyAlias('releaseKey')
        storeFile file('mykeystore.jks')
        keyPassword('key')
        storePassword('store')
    }
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfigs signingConfigs.release
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
compile "com.android.support:appcompat-v7:$support_version"
compile "com.android.support:support-v4:$support_version"
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "io.reactivex:rxjava:1.0.14"
compile('io.reactivex:rxkotlin:0.24.100') { exclude module: 'funktionale' }
compile "io.reactivex:rxandroid:1.0.1"
compile "com.jakewharton.rxbinding:rxbinding-kotlin:0.3.0"
compile 'org.jetbrains.kotlin:kotlin-reflect:1.0.0-beta-1038'

compile 'com.trello:rxlifecycle:0.3.0'
compile 'com.trello:rxlifecycle-components:0.3.0'

compile 'com.parse:parse-android:1.10.2'
}

Properties props = new Properties()
props.load(project.rootProject.file('local.properties').newDataInputStream())
String parseAppId = props.getProperty('parse.app_id') ?: "Specify APP_ID"
String parseClientKey = props.getProperty('parse.client_key') ?: "Specify CLIENT_KEY"

android.buildTypes.each { type ->
type.buildConfigField 'String', 'PARSE_APP_ID', "\"$parseAppId\""
type.buildConfigField 'String', 'PARSE_CLIENT_KEY', "\"$parseClientKey\""
}

我使用gradle插件1.4.0-beta6。

这是我的错误日志:

  

错误:(30,0)未找到Gradle DSL方法:'signingConfigs()'   可能的原因:

  • 项目“TestProject”可能正在使用不包含该方法的Gradle版本。   打开Gradle包装器文件
  • 构建文件可能缺少Gradle插件。   申请Gradle插件
  • 1 个答案:

    答案 0 :(得分:0)

    将版本buildType中的属性从signingConfigs重命名为signingConfig,如下所示:

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

    看一下the dsl reference,你拼错了属性名称。