私のアプリは以前、エキスポ管理ワークフローで作成されました。私はこれをexpo ba
。 Androidアプリではアプリ内購入を追加する前にアプリをリリースする必要があるため、このapkをアップロードし、それを使用してベータ版をリリースしました。
アプリ内購入を実装するために、最低限のワークフローに切り替える必要がありました。今、実際のアプリをリリースするビルドを作成しようとするとき、私は React Nativeの指示 に従いますが、ビルドを作成するために別のアップロードキーを作成する必要があります(今回はaabです)。
プレイコンソールには、
アップロードキー:最初のリリースの署名に使用するキー。同じキーで後続のすべてのリリースに署名し、それが自分のものであることを確認します。アップロードキーを安全に保管してください。紛失または侵害された場合は、デベロッパーサポートに連絡して交換してください。
元のapkに署名するために提供された博覧会を使用したので、これは問題だと確信しています。また、元のアプリを削除して同じバンドル名で新しいアプリを作成することもできません。これは、アプリがリリースされると削除できないためです。
以前に使用したキーストアファイルを取得するには
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.jks
をAndroid/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コンソールにアップロードします