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插件
答案 0 :(得分:0)
将版本buildType中的属性从signingConfigs
重命名为signingConfig
,如下所示:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
看一下the dsl reference,你拼错了属性名称。