gpt4 book ai didi

Android Studio 不会为调试构建的代码签名

转载 作者:可可西里 更新时间:2023-11-01 18:45:36 26 4
gpt4 key购买 nike

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 时,它会报告错误的 key 哈希。

我注意到signingConfigs

signingConfig signingConfigs.debug

带有错误消息“无法推断参数类型...”的下划线

所以我转到 UI 中的项目设置,删除签名以及构建和签名之间的关系,保存它,然后将其添加回去。同样的问题。

我确信这是我刚刚忽略的非常小的事情,或者谷歌在版本之间重命名了命令,无论如何。

有人可以帮忙吗?

最佳答案

这里有几件事,假设您的 debug.keystore 是来自 ~/.android 文件夹的那个。

改变这个:

    debug {
storeFile file('../../../.android/debug.keystore')
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}

为此(将 debug.keystore 存储在根项目中):

    debug {
storeFile rootProject.file('debug.keystore')
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}

你不需要覆盖 debug BuildType,它自然地用 debug 键签名,所以你可以删除:

    debug {
signingConfig signingConfigs.debug
}

最终的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 rootProject.file('debug.keystore')
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}

关于Android Studio 不会为调试构建的代码签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28512684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com