【问题标题】:Publishing a bare-workflow expo React-Native app to Google Play which was previously published in the managed workflow将之前在托管工作流中发布的裸工作流博览会 React-Native 应用程序发布到 Google Play
【发布时间】:2021-03-16 01:42:20
【问题描述】:

我的应用程序之前是在 expo 管理的工作流程中构建的。我使用expo ba 做到了这一点。由于 android 应用要求您先发布您的应用,然后才能添加应用内购买,所以我上传了这个 apk 并使用它发布了一个测试版。

为了实现应用内购买,我需要切换到纯工作流程。现在,当尝试创建构建以发布实际应用程序时,我正在关注React Native instructions,但必须创建另一个上传密钥才能创建构建(这次是 aab)。

在游戏控制台上显示

上传密钥:用于签署第一个版本的密钥。签署每个 后续版本使用相同的密钥来验证它来自您。保持 您的上传密钥安全。如果丢失或损坏,请联系 开发者支持替换它。

我很确定这是一个问题,因为我使用了任何 expo 给我的东西来签署原始 apk。 我也无法删除我的原始应用并创建一个具有相同捆绑名称的新应用,因为一旦发布应用就无法删除它。

【问题讨论】:

    标签: android reactjs react-native expo


    【解决方案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.propertiesandroid/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
    

    这将在android/app/build/outputs/bundle/release/ 目录中生成一个名为app-release.aab 的文件。 将此文件上传到 Google Playstore 控制台

    【讨论】:

    • 伙计,我和你的情况完全一样,但对于 iOS。弹出后是否必须单独添加应用程序图标和启动图像?还有你还在用expo build:android + expo upload:android 吗?
    • 我好像没用过expo upload:android,而且我还没有发布iOS版本
    • 是的,看来我必须通过 Xcode 手动构建它。您仍然可以使用 expo publish 进行 OTA 更新,对吗?
    • 我想我从来没有用过expo:publish,除非你是这样构建apk的,我总是把我的apk拖到控制台上
    • @bigpotato 我真的不是专家,幸好我在这里的答案中写下了如何做到这一点,所以下次我会知道如何做到这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2021-08-05
    • 1970-01-01
    • 2021-06-19
    • 2021-04-14
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多