web-dev-qa-db-ja.com

マネージドワークフローで以前に公開された、ベアワークフローexpo React-NativeアプリをGoogle Playstoreに公開する

私のアプリは以前、エキスポ管理ワークフローで作成されました。私はこれをexpo ba。 Androidアプリではアプリ内購入を追加する前にアプリをリリースする必要があるため、このapkをアップロードし、それを使用してベータ版をリリースしました。

アプリ内購入を実装するために、最低限のワークフローに切り替える必要がありました。今、実際のアプリをリリースするビルドを作成しようとするとき、私は React Nativeの指示 に従いますが、ビルドを作成するために別のアップロードキーを作成する必要があります(今回はaabです)。

プレイコンソールには、

アップロードキー:最初のリリースの署名に使用するキー。同じキーで後続のすべてのリリースに署名し、それが自分のものであることを確認します。アップロードキーを安全に保管してください。紛失または侵害された場合は、デベロッパーサポートに連絡して交換してください。

元のapkに署名するために提供された博覧会を使用したので、これは問題だと確信しています。また、元のアプリを削除して同じバン​​ドル名で新しいアプリを作成することもできません。これは、アプリがリリースされると削除できないためです。

3
Sam

以前に使用したキーストアファイルを取得するには

expo fetch:Android:keystore

のようなものが表示されます

Keystore credentials
  Keystore password: MYAPP_UPLOAD_STORE_PASSWORD
  Key alias:         MYAPP_UPLOAD_KEY_ALIAS
  Key password:      MYAPP_UPLOAD_KEY_PASSWORD

  Path to Keystore:  /Path/To/my_upload_store_file.jks

上記の情報を含むようにファイルAndroid/app/build.gradleを編集します

...
Android {
    ...
    defaultConfig { ... }
    signingConfigs {
        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"
            //}
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
...

my_upload_store_file.jksAndroid/appの中に配置

ファイル~/.gradle/gradle.propertiesまたはAndroid/gradle.propertiesを編集して、以下を追加します

MYAPP_UPLOAD_STORE_FILE="my_upload_store_file.jks"
MYAPP_UPLOAD_KEY_ALIAS="MYAPP_UPLOAD_KEY_ALIAS"
MYAPP_UPLOAD_STORE_PASSWORD="MYAPP_UPLOAD_STORE_PASSWORD"
MYAPP_UPLOAD_KEY_PASSWORD="MYAPP_UPLOAD_KEY_PASSWORD"

ターミナルでディレクトリAndroidから以下を実行します

./gradlew bundleRelease

これにより、app-release.aabディレクトリ内にAndroid/app/build/outputs/bundle/release/というファイルが作成されます。このファイルをGoogle Playstoreコンソールにアップロードします

0
Sam