我的应用程序以前是在expo管理的工作流程中构建的。我是使用expo ba
完成的。由于android应用要求您先发布应用,然后才能添加应用内购买,因此我上传了该apk并使用它发布了beta版。
为了实现应用内购买,我需要切换到简单的工作流程。现在,当尝试创建要发布实际应用程序的构建时,我遵循React Native instructions,但是必须创建另一个上载密钥才能创建构建(这次是aab)。
在游戏机上显示
上传密钥:用于签署第一个版本的密钥。每个签名 随后的发行版,使用相同的密钥进行验证,以确认是否来自您。保持 您的上传密钥很安全。如果丢失或遭到破坏,请联系 开发人员支持将其替换。
我很确定这是一个问题,因为我使用了任何博览会给我签名了原始apk。 我也无法删除我的原始应用程序,也无法使用相同的捆绑包名称创建一个新应用程序,因为一旦发布该应用程序,便无法将其删除。
答案 0 :(得分:1)
要运行以前使用的密钥库文件
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控制台