在密钥库中找不到具有别名的密钥
No key with alias found in keystore
我们的 android 项目包括 移动应用和穿戴应用 (穿戴应用正在开发中),我们正在尝试发布移动应用。当我们尝试生成签名的 apk 时,我们收到以下消息:
Error:Execution failed for task ':wear:packageRelease'.
> com.android.ide.common.signing.KeytoolException: Failed to read key
toyanathpatro from store "/home/adventure/toyanath_patro_key/toyanath_patro_key":
No key with alias 'toyanathpatro' found in keystore /home/adventure/toyanath_patro_key/toyanath_patro_key
正如它所说,:wear:packageRelease 任务失败,实际上我们在选择签署 apk 时只选择手机。
谁能指出我的错误?提前致谢。
在您的 build.gradle 中,您定义了一个签名配置,它指向一个不在您的代码库中的密钥库。
与此类似。
android {
...
buildTypes {
release {
signingConfig signingConfigs.staging
...
}
}
signingConfigs {
defaultSignature {
keyAlias 'default'
keyPassword 'password'
storeFile file('default-keystore.jks')
storePassword 'password'
}
}
}
问题似乎出在密钥别名拼写错误
在我的例子中,别名应该是 toyanathpatro ,我错误地尝试使用 toyanathpatro 。所以最好的建议是:
不要在密钥别名中使用space或不可见字符。尽可能
键别名可编辑字段右侧有一个小选择按钮(3个横点)。使用该按钮查找驻留在该签名文件中的别名。
在我的例子中 android studio 默认创建别名 'key0',它是文件中唯一的别名。
我的快速解决方案:使用您想要的别名从 android studio 创建新的密钥文件。将新创建的文件与 "Generated Signed APK" 一起使用。如果一切顺利,您可以 运行 应用在 "Project Structure".
中设置属性
点击Build>Edit library and dependencies
。
然后单击签名选项卡中的加号按钮。密钥别名与生成签名的 apk 构建时的别名密钥相同。
我有一个无法摆脱的粘性配置。即使我已经更改了签名配置 window 中的别名,它仍然给我错误 "Could not find alias" 我第一次输入的原始(错误)别名。我手动搜索并在路径上找到了一个文件...
[项目]/android/app/build/intermediates/signing_config/release/out/signing-config.json
...其中包含我第一次输入的原始(错误)别名。再次删除文件和 built/signed 应用程序。希望对大家有帮助。
构建 -> 重建项目
似乎缓存了旧的键名。
不要使用大写键作为密码。它对我有用。
生成密钥库后-
keytool -genkeypair -v -keystore my-key.keystore -alias my-alias -keyalg RSA -
keysize 2048 -validity 10000
您应该在 gradle.properties 中使用准确的别名:-
MYAPP_UPLOAD_STORE_FILE=my-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-alias <------this name
MYAPP_UPLOAD_STORE_PASSWORD=***
MYAPP_UPLOAD_KEY_PASSWORD=***
我最初使用 key0 进行构建。它因 'Errors while building APK' 而失败。下次,我将其更改为 'key1' 以工作并且它起作用了。
用于生成 .jks 密钥,
keytool -genkey -alias myKeyStore -keyalg RSA -keystore "C:\apk\fastmoneyv1.jks"
如果您在创建密钥时使用此代码
" keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
您必须从 key.properties
更新“keyAlias”属性
来自:keyAlias=key
至:keyAlias=上传
在我的例子中,我已经生成了 keystore
文件。我正在更新我的应用程序,当我生成签名的 apk 时,我正在创建新的 key_alias
。相反,我从我的密钥库文件中选择了现有的密钥别名,它已被 解决 :)
如果您之前有 .Jks 文件,那么您可以通过键入此命令来获取别名
keytool -v -list -keystore .jks
或
keytool -v -list -keystore .keystore
然后您将必须输入密码,您将通过该别名获得别名,您可以轻松创建签名的发布文件。
我的问题是我丢失了我的钥匙,当我联系 google 制作新钥匙时,我制作了一个新的,别名我不知道所以要在你的根 android 项目 cd app
并粘贴此命令 keytool -v -list -keystore yourkeystore.jks
不要忘记用您的密钥替换 yourkeystore.jks
您将获得输出我们只需要 别名 复制此别名并将其粘贴到您的 key.properties 文件中,如下所示
storePassword=YourPassword
keyPassword=YourPassword
keyAlias=AliasNameCopiedFromLastStep
storeFile=KeyStorePath
我们的 android 项目包括 移动应用和穿戴应用 (穿戴应用正在开发中),我们正在尝试发布移动应用。当我们尝试生成签名的 apk 时,我们收到以下消息:
Error:Execution failed for task ':wear:packageRelease'.
> com.android.ide.common.signing.KeytoolException: Failed to read key
toyanathpatro from store "/home/adventure/toyanath_patro_key/toyanath_patro_key":
No key with alias 'toyanathpatro' found in keystore /home/adventure/toyanath_patro_key/toyanath_patro_key
正如它所说,:wear:packageRelease 任务失败,实际上我们在选择签署 apk 时只选择手机。
谁能指出我的错误?提前致谢。
在您的 build.gradle 中,您定义了一个签名配置,它指向一个不在您的代码库中的密钥库。
与此类似。
android {
...
buildTypes {
release {
signingConfig signingConfigs.staging
...
}
}
signingConfigs {
defaultSignature {
keyAlias 'default'
keyPassword 'password'
storeFile file('default-keystore.jks')
storePassword 'password'
}
}
}
问题似乎出在密钥别名拼写错误 在我的例子中,别名应该是 toyanathpatro ,我错误地尝试使用 toyanathpatro 。所以最好的建议是:
不要在密钥别名中使用space或不可见字符。尽可能
键别名可编辑字段右侧有一个小选择按钮(3个横点)。使用该按钮查找驻留在该签名文件中的别名。
在我的例子中 android studio 默认创建别名 'key0',它是文件中唯一的别名。 我的快速解决方案:使用您想要的别名从 android studio 创建新的密钥文件。将新创建的文件与 "Generated Signed APK" 一起使用。如果一切顺利,您可以 运行 应用在 "Project Structure".
中设置属性点击Build>Edit library and dependencies
。
然后单击签名选项卡中的加号按钮。密钥别名与生成签名的 apk 构建时的别名密钥相同。
我有一个无法摆脱的粘性配置。即使我已经更改了签名配置 window 中的别名,它仍然给我错误 "Could not find alias" 我第一次输入的原始(错误)别名。我手动搜索并在路径上找到了一个文件...
[项目]/android/app/build/intermediates/signing_config/release/out/signing-config.json
...其中包含我第一次输入的原始(错误)别名。再次删除文件和 built/signed 应用程序。希望对大家有帮助。
构建 -> 重建项目
似乎缓存了旧的键名。
不要使用大写键作为密码。它对我有用。
生成密钥库后-
keytool -genkeypair -v -keystore my-key.keystore -alias my-alias -keyalg RSA -
keysize 2048 -validity 10000
您应该在 gradle.properties 中使用准确的别名:-
MYAPP_UPLOAD_STORE_FILE=my-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-alias <------this name
MYAPP_UPLOAD_STORE_PASSWORD=***
MYAPP_UPLOAD_KEY_PASSWORD=***
我最初使用 key0 进行构建。它因 'Errors while building APK' 而失败。下次,我将其更改为 'key1' 以工作并且它起作用了。
用于生成 .jks 密钥,
keytool -genkey -alias myKeyStore -keyalg RSA -keystore "C:\apk\fastmoneyv1.jks"
如果您在创建密钥时使用此代码
" keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
您必须从 key.properties
更新“keyAlias”属性来自:keyAlias=key
至:keyAlias=上传
在我的例子中,我已经生成了 keystore
文件。我正在更新我的应用程序,当我生成签名的 apk 时,我正在创建新的 key_alias
。相反,我从我的密钥库文件中选择了现有的密钥别名,它已被 解决 :)
如果您之前有 .Jks 文件,那么您可以通过键入此命令来获取别名
keytool -v -list -keystore .jks
或
keytool -v -list -keystore .keystore
然后您将必须输入密码,您将通过该别名获得别名,您可以轻松创建签名的发布文件。
我的问题是我丢失了我的钥匙,当我联系 google 制作新钥匙时,我制作了一个新的,别名我不知道所以要在你的根 android 项目 cd app
并粘贴此命令 keytool -v -list -keystore yourkeystore.jks
不要忘记用您的密钥替换 yourkeystore.jks
您将获得输出我们只需要 别名 复制此别名并将其粘贴到您的 key.properties 文件中,如下所示
storePassword=YourPassword
keyPassword=YourPassword
keyAlias=AliasNameCopiedFromLastStep
storeFile=KeyStorePath