世博会弹出后 android.keystore 的问题
Issues with android .keystore after expo eject
我使用 expo 管理的工作流程构建了一个应用程序,使用 expo 创建了帐户并让 expo 处理所有密钥库信息,即使用 expo 创建的密钥库凭据并上传到 play store 但我的应用程序由于某种原因被拒绝了。我解决了这个问题,但我退出了世博会(托管 - >裸工作流程)并设法解决了之后的所有错误。我搜索了 uploading react native app 并按照以下步骤操作:
安装了所需的 jdk 版本并移动到 jdk 所在的路径
创建了新的密钥库 sudo keytool -genkey -v -keystore XXX.keystore -alias XXX-upload -keyalg RSA -keysize 2048 -validity 10000
使用与 expo
生成的密钥库相同的密码输入所需信息
将密钥库文件放入 android>app 文件夹
在 android>app 和 gradle.properties 下根据发布的建议对 build.gradle 进行了更改
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
还有signingConfig signingConfigs.release
gradle.properties 添加:
MYAPP_UPLOAD_STORE_FILE=XXX.keystore
MYAPP_UPLOAD_KEY_ALIAS=XXX-upload
MYAPP_UPLOAD_STORE_PASSWORD=XXX
MYAPP_UPLOAD_KEY_PASSWORD=XXX
- 完成所有这些步骤后,我从 android>app>src>main>assets>index.android.bundle 中删除了包,并使用 cd [= 移动到项目的 android 文件夹67=] 和 运行 ./gradlew clean 然后是 ./gradlew assembleRelease 但出现错误:
Task :app:signReleaseBundle FAILED
失败:构建失败,出现异常。
- 出了什么问题:
任务“:app:signReleaseBundle”执行失败。
A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
Failed to read key XXX-upload from store "XXX.keystore": Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
在 Whosebug 上搜索了这个。甚至再次重新创建密钥库,但没有帮助。什么可以解决这个问题?
更新:我对商店密码和密钥密码使用了相同的密码,我能够创建应用程序包。但是当我提交应用程序发布时:它说:
您的 Android App Bundle 使用错误的密钥签名。确保您的 App Bundle 已使用正确的签名密钥签名,然后重试。您的 App Bundle 应该使用带有指纹的证书进行签名:
SHA1:
但是用于签署您上传的 App Bundle 的证书有指纹:
SHA1:
这是因为我更改了我的密钥库吗??我们该如何解决这个问题?
即使在通过 expo 托管帐户将密钥库恢复为原始密钥库之后,我也能够创建 .aab 但 play store 不接受该应用程序。生成错误密钥的相同错误
您必须请求 google Play 商店团队更改密钥库相关问题。但是对于2021年8月1日之后上传的应用,google有一个非常漂亮的解决方案。它允许您创建一个上传密钥并将其上传到播放商店。 Google 自己管理您签名的应用程序包。
我使用 expo 管理的工作流程构建了一个应用程序,使用 expo 创建了帐户并让 expo 处理所有密钥库信息,即使用 expo 创建的密钥库凭据并上传到 play store 但我的应用程序由于某种原因被拒绝了。我解决了这个问题,但我退出了世博会(托管 - >裸工作流程)并设法解决了之后的所有错误。我搜索了 uploading react native app 并按照以下步骤操作:
安装了所需的 jdk 版本并移动到 jdk 所在的路径
创建了新的密钥库 sudo keytool -genkey -v -keystore XXX.keystore -alias XXX-upload -keyalg RSA -keysize 2048 -validity 10000
使用与 expo
生成的密钥库相同的密码输入所需信息将密钥库文件放入 android>app 文件夹
在 android>app 和 gradle.properties 下根据发布的建议对 build.gradle 进行了更改
release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file(MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } }
还有signingConfig signingConfigs.release
gradle.properties 添加:
MYAPP_UPLOAD_STORE_FILE=XXX.keystore
MYAPP_UPLOAD_KEY_ALIAS=XXX-upload
MYAPP_UPLOAD_STORE_PASSWORD=XXX
MYAPP_UPLOAD_KEY_PASSWORD=XXX
- 完成所有这些步骤后,我从 android>app>src>main>assets>index.android.bundle 中删除了包,并使用 cd [= 移动到项目的 android 文件夹67=] 和 运行 ./gradlew clean 然后是 ./gradlew assembleRelease 但出现错误:
Task :app:signReleaseBundle FAILED
失败:构建失败,出现异常。
- 出了什么问题: 任务“:app:signReleaseBundle”执行失败。
A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade Failed to read key XXX-upload from store "XXX.keystore": Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
在 Whosebug 上搜索了这个。甚至再次重新创建密钥库,但没有帮助。什么可以解决这个问题?
更新:我对商店密码和密钥密码使用了相同的密码,我能够创建应用程序包。但是当我提交应用程序发布时:它说: 您的 Android App Bundle 使用错误的密钥签名。确保您的 App Bundle 已使用正确的签名密钥签名,然后重试。您的 App Bundle 应该使用带有指纹的证书进行签名: SHA1: 但是用于签署您上传的 App Bundle 的证书有指纹: SHA1:
这是因为我更改了我的密钥库吗??我们该如何解决这个问题?
即使在通过 expo 托管帐户将密钥库恢复为原始密钥库之后,我也能够创建 .aab 但 play store 不接受该应用程序。生成错误密钥的相同错误
您必须请求 google Play 商店团队更改密钥库相关问题。但是对于2021年8月1日之后上传的应用,google有一个非常漂亮的解决方案。它允许您创建一个上传密钥并将其上传到播放商店。 Google 自己管理您签名的应用程序包。