将我的第二个应用程序项目上传到 PlayStore 时,我在上传新版本的 .aab 文件时遇到以下错误:
“您的 Android App Bundle 使用错误的密钥进行签名。请确保您的 App Bundle 使用正确的签名密钥进行签名,然后重试。您的 App Bundle 预计将使用带指纹的证书进行签名: : : : : : ”
我所做的是使用我的第一个应用程序歌唱密钥/我的旧密钥库文件,并在 Android studio 中使用此密钥库文件“构建->生成签名包/apk”来生成我的 aab 文件。
在 PlayConsole 内部,我已经检查过"Let Google manage and protect your app signing key"
,所以我认为,现在 Google 也保证了这个密钥库文件的安全。
当我在 Google PlayConsole 中访问 时"Release > Setup > App integrity"
,我可以看到有上传证书和 SH1 证书,但此信息与以前的应用程序密钥库不同。
我不明白的是为什么以前的应用程序的指纹及其别名与当前的不同?
我可以从 PlayConsole 下载此 Google 管理的证书文件,但我无法使用此证书文件作为“密钥库”来签署我的 apk/aab 文件。
我一直在不同论坛上阅读答案,但没有一个解决方案对我有用。
我想更改我在密钥库中使用的密码,用于谷歌播放中已有的Android应用程序,我想在做之前了解一些事情:
1)如果我更改了密钥库密码,我是否可以继续使用相同的密钥库来存储上传的应用程序(我需要这样做,这就是我要问的原因)
2)更改我的别名密码会产生同样的后果吗?
3)我应该如何使用keytool?
我们目前遇到的问题是,当用户安装我们的应用程序时,应用程序会尝试访问并在密钥库中生成密钥,但密钥库会抛出此异常:
Caused by: java.lang.IllegalStateException: could not generate key in keystore
at android.security.AndroidKeyPairGenerator.generateKeyPair(AndroidKeyPairGenerator.java:100)
at java.security.KeyPairGenerator$KeyPairGeneratorImpl.generateKeyPair(KeyPairGenerator.java:275)
Run Code Online (Sandbox Code Playgroud)
我们认为它与手机上的解锁模式有关,无法解锁密钥库,和/或设备管理员锁定密钥库.
这是密钥库的创建方式以及密钥的生成方式:
public SecretKeyWrapper(Context context, String alias) throws GeneralSecurityException, IOException {
mCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
final KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
if (!keyStore.containsAlias(alias)) {
generateKeyPair(context, alias);
}
final KeyStore.PrivateKeyEntry entry = (KeyStore.PrivateKeyEntry) keyStore.getEntry(alias, null);
mPair = new KeyPair(entry.getCertificate().getPublicKey(), entry.getPrivateKey());
}
private static void generateKeyPair(Context context, String alias) throws GeneralSecurityException {
final Calendar start = new GregorianCalendar();
final Calendar end = new GregorianCalendar();
end.add(Calendar.YEAR, 100);
final KeyPairGeneratorSpec spec …
Run Code Online (Sandbox Code Playgroud) 我应用谷歌开发者文档中提到的确切步骤创建一个示例谷歌地图项目,一切都在模拟器上很好,但当我生成项目apk文件并在真实设备上启动它三星Galaxy S4谷歌地图不显示它显示只有一个空白的背景,左下方的屏幕角出现了彩色的Google徽标!!
我为谷歌地图创建了新项目我为项目创建了新的.jks文件并创建了商店和密钥传递和别名然后我从cmd java bin中提取了SHA1我去了dev.google.com/console创建了新项目然后启用了谷歌地图android API随后在Credentials中创建了API密钥,在我项目的google_maps_api.xml中粘贴了这个API密钥,并使用.jks文件路径和别名以及两个密码更新了signingConfigs版本.然后从Android Studio生成签名APK然后将app-release.apk转移到真实设备然后安装它同样问题谷歌地图没有显示.
Plz帮助
当我启动我的应用程序时,我收到以下错误:
V/GoogleSignatureVerifier(4962): com.myapp.application signature not valid. Found:
V/GoogleSignatureVerifier(4962): MIIDDTCCAfWgAwIBAgIEO0I8qTANBgkqhkiG9w0BAQsFADA3MQswCQYDVQQGEwJVUzEQMA4GA1UE
V/GoogleSignatureVerifier(4962): ChMHQW5kcm9pZDEWMBQGA1UEAxMNQW5kcm9pZCBEZWJ1ZzAeFw0xNTA0MjEyMDM4NDRaFw00NTA0
V/GoogleSignatureVerifier(4962): MTMyMDM4NDRaMDcxCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdBbmRyb2lkMRYwFAYDVQQDEw1BbmRy
V/GoogleSignatureVerifier(4962): b2lkIERlYnVnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/4shkSGhYP1pwMY4bFc
V/GoogleSignatureVerifier(4962): dKuMg6JyTdUON6XF8VxifADMYd/WwgzsETT+AHZXlo6RwQFhtwbxrvmuhBOMip2ivhmRGT8JpBcI
V/GoogleSignatureVerifier(4962): FqjCOxLzw3B3psZhnioZwCBTKBrCau8/q0XW40lXa/OCy2wA4EZs2ThaqwqgdGwpKXN+qHNHAFAS
V/GoogleSignatureVerifier(4962): 0g/SdupsSID+WctlL2XdCo50Jq/bJJAWQBz1SL03xBWUikuiWKM6mz/6Up8oE4WtZhU7V83R7FYM
V/GoogleSignatureVerifier(4962): XmRU4CghlvczG+ujCrZwSsYttsZgz2nb4NY2w9fvevAXgSB/N6JfOatnccW5vmukkm6g12iysA9u
V/GoogleSignatureVerifier(4962): hS3EjVb01bKyMdoXhQIDAQABoyEwHzAdBgNVHQ4EFgQUByeU0uE1tXyrL0UimKkJH2CbeXIwDQYJ
V/GoogleSignatureVerifier(4962): KoZIhvcNAQELBQADggEBABPPel3zEbk6/ZzwfvIS0z8IqvYgzxzxSZFEAp+PrlEEyk+IVHQgQAVS
V/GoogleSignatureVerifier(4962): I6JM9rNkxR2hvQHP3V9pd2d5bYhsCBZFSn6drOmnBrnABXH8e4OdqN9fRcKn+acfbZ+yBvZoVbr/
V/GoogleSignatureVerifier(4962): IhRvRrpLDtDNnD4kUoLfTgw/Xygdiq5/aU5WSfXdrUx6Va0vg6uJZY6Yq4J4a/R+/T7lLwzQgerq
V/GoogleSignatureVerifier(4962): eNUvY9HbcmegJDKMGeyc4Po8akAt9gDRo4nswuP0Sve8oSMqBEfO8ItTsIPx3UVEXuYUeC8e8nwb
V/GoogleSignatureVerifier(4962): fyhDXSFAo59Y1+NWcZNsGdum95YV8oZloF7+4fFqBwz7w0mb+M+JfY1sg7I=
Run Code Online (Sandbox Code Playgroud)
我已经读过debug.keystore默认密钥只有1年的有效期,所以必须先删除它以让android studio生成一个新的.最终我做到了,但错误仍然存在.
此举后,我的应用程序中的Google地图不再可见...
如果可以的话请帮忙.
我在http://developer.android.com/training/articles/keystore.html上阅读了Android文档 但是我遗漏了一些细节......
如果应用程序使用AndroidKeyStore生成密钥(对称或非对称).
我们可以从该密钥库中提取密钥吗?
另一个应用程序(AppB)可以访问AppA生成的密钥吗?
在哪些情况下可能丢失钥匙?设备出厂仅重置?
谢谢.
密钥库及其密码用于签署应用程序,然后由Android用于识别开发人员.如果泄露,有人可以代表我们更新相关的应用程序.即使该人无法访问我们的Playstore帐户,他们仍然可以将其发布到其他地方.
我们到处都看到,"永远不会失去它","永不泄漏它",等等.但是,如果我这样做了呢?当他们(密钥库和密码)泄漏时我无法找到所需的步骤,因此我可以保护我们的用户和我们的应用程序.
即使我与其他appid发布相同的应用程序,我如何保护仍旧旧用户?这里有一些最好的做法吗?
我们的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
Run Code Online (Sandbox Code Playgroud)
正如它所读到的那样说失败的任务:穿:packageRelease实际上我们在选择签署apk时只选择移动设备.
任何人都可以指出我的错误吗?提前致谢.
我有一个自定义密钥库,我用它来签署我的apk.现在我想使用相同的密钥库进行调试.当我去eclipse-> windows-> preferences-> android-> build并设置我的自定义密钥库时,我得到"Keystore被篡改,或密码不正确"?
android ×10
android-keystore ×10
java ×2
apk ×1
code-signing ×1
google-play ×1
jks ×1
keystore ×1
keytool ×1
security ×1
signature ×1