Android Studio拒绝为我的调试版本构建签名代码。
我有一个旧的项目,在build.gradle文件中没有任何签名指导,所以我根据这个Android gradle signingConfig error和其他文章添加了这些指导。
我的模块级(唯一的模块)build.gradle文件如下(节选):
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
applicationId "cc.appname.android"
minSdkVersion 11
targetSdkVersion 21
versionCode 1
versionName '1.0'
}
signingConfigs {
debug {
storeFile file('../../../.android/debug.keystore')
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
因为当我更改路径时,会出现编译错误,所以可以找到storeFile。当路径正确时,它会编译,但是当我尝试在我的应用程序中使用Facebook SDK时,它报告了一个错误的keyhash。
我注意到了signingConfigs
signingConfig signingConfigs.debug
出现下划线错误信息“无法推断参数类型……”
于是我进入UI中的项目设置,取消了签名和构建之间的关系,并保存,然后重新添加。但问题依旧。
我确定这只是我忽略的一个非常小的问题,或者是谷歌在版本之间重命名了该命令。
有谁能提供帮助吗?
signingConfig signingConfigs.debug
。我相信这可能是一个bug或缺少某些依赖项。至少现在它可以工作了。 - Oliver HauslerrootProject.file('debug.keystore')
- 感谢提示,但是相对路径仍然是从项目根目录开始的。由于调试密钥库在路径上更高,我仍然需要返回到rootProject.file('../../.android/debug.keystore')
。因此,要么调试密钥库位置不正确(不在项目根目录内),要么这是构建系统的惯例,但是它不应该需要在 build.gradle 中引用。 - Oliver Hausler