簡體   English   中英

將裸工作流 expo React-Native 應用程序發布到 Google Play,該應用程序之前在托管工作流中發布

[英]Publishing a bare-workflow expo React-Native app to Google Play which was previously published in the managed workflow

我的應用程序之前是在 expo 托管工作流中構建的。 我使用expo ba做到了這一點。 因為 android 應用程序要求您在添加應用程序內購買之前發布您的應用程序,所以我上傳了這個 apk 並使用它發布了一個測試版。

我需要切換到裸工作流以實現應用內購買。 現在,當嘗試創建構建以發布實際應用程序時,我遵循React Native 說明,但必須創建另一個上傳密鑰才能創建構建(這次是 aab)。

在游戲控制台上它指出

上傳密鑰:用於簽署第一個版本的密鑰。 使用相同的密鑰簽署每個后續版本,以驗證它來自您。 確保您的上傳密鑰安全。 如果它丟失或損壞,請聯系開發人員支持以更換它。

我很確定這是一個問題,因為我使用了 expo 給我的任何東西來簽署原始 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.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 控制台

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM