世博会弹出后 android.keystore 的问题

Issues with android .keystore after expo eject

我使用 expo 管理的工作流程构建了一个应用程序,使用 expo 创建了帐户并让 expo 处理所有密钥库信息,即使用 expo 创建的密钥库凭据并上传到 play store 但我的应用程序由于某种原因被拒绝了。我解决了这个问题,但我退出了世博会(托管 - >裸工作流程)并设法解决了之后的所有错误。我搜索了 uploading react native app 并按照以下步骤操作:

  1. 安装了所需的 jdk 版本并移动到 jdk 所在的路径

  2. 创建了新的密钥库 sudo keytool -genkey -v -keystore XXX.keystore -alias XXX-upload -keyalg RSA -keysize 2048 -validity 10000

  3. 使用与 expo

    生成的密钥库相同的密码输入所需信息
  4. 将密钥库文件放入 android>app 文件夹

  5. 在 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
  1. 完成所有这些步骤后,我从 android>app>src>main>assets>index.android.bundle 中删除了包,并使用 cd [= 移动到项目的 android 文件夹67=] 和 运行 ./gradlew clean 然后是 ./gradlew assembleRelease 但出现错误:

Task :app:signReleaseBundle FAILED

失败:构建失败,出现异常。

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 自己管理您签名的应用程序包。